Jsoup正在尝试测试javascript链接

Jsoup正在尝试测试javascript链接,java,jsoup,Java,Jsoup,我使用JSoup解析一个网页的所有链接,然后测试这些收集的链接的响应代码 我遇到的问题是,我正在测试的一些页面具有使用以下方式打开javascript弹出窗口的链接:。我相信有一个简单的方法可以避免选择这个链接,但我不能再思考了 我的代码: PingUrls(String pageUrl) { url = pageUrl; int i = 0; int retries = 3; while (i < retries){

我使用JSoup解析一个网页的所有链接,然后测试这些收集的链接的响应代码

我遇到的问题是,我正在测试的一些页面具有使用以下方式打开javascript弹出窗口的链接:。我相信有一个简单的方法可以避免选择这个链接,但我不能再思考了

我的代码:

PingUrls(String pageUrl) {
        url = pageUrl;
        int i = 0;
        int retries = 3;

        while (i < retries){
            try {
                response = Jsoup.connect(url)
                        .userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21")
                        .timeout(10000)
                        .execute();
                success = true;
                break;
            } catch (IOException e) {
            }
            System.out.println("Attempt "+i);
            i++;
        }
    }

    public int getUrlStatus(){
        if(success){
            int statusCode = response.statusCode();
            return statusCode;
        }else {
            return 404;
        }
    }

    public ArrayList<String> getLinks(String targetValue){
        ArrayList<String> urls = new ArrayList<String>();
        try {
            Document doc = response.parse();

            Elements element = doc.select(targetValue+" a[href]");
            for (Element page : element){
                urls.add(page.attr("abs:href"));
            }           
            return urls;
        } catch (IOException e) {
            System.out.println(e);
            return null;
        }
    }
pingURL(字符串页面URL){
url=pageUrl;
int i=0;
int重试次数=3次;
while(i<重试次数){
试一试{
response=Jsoup.connect(url)
.userAgent(“Mozilla/5.0(X11;Linux x86_64)AppleWebKit/535.21(KHTML,类似Gecko)Chrome/19.0.1042.0 Safari/535.21”)
.超时(10000)
.execute();
成功=真实;
打破
}捕获(IOE异常){
}
System.out.println(“尝试”+i);
i++;
}
}
public int getUrlStatus(){
如果(成功){
int statusCode=response.statusCode();
返回状态码;
}否则{
返回404;
}
}
公共ArrayList getLinks(字符串targetValue){
ArrayList URL=新的ArrayList();
试一试{
Document doc=response.parse();
Elements=doc.select(targetValue+“a[href]”);
for(元素页:元素){
添加(page.attr(“abs:href”);
}           
返回URL;
}捕获(IOE异常){
系统输出打印ln(e);
返回null;
}
}

首先,我想使用集合而不是列表。(如果您不熟悉集合,集合将确保没有重复的元素)


此外,我还提供了一个类似manageURL(stringurl)的方法;在将其添加到集合之前。对它进行一些测试,以确保它按您想要的方式运行。比如测试url的绝对路径、规范路径,并确保它是http或https协议

你能提供一个url吗?