Java Selenium查找网站上的所有链接?

时间:2015-07-21 18:41:47

标签: java selenium

我目前有一个功能可以检查单个页面上的所有空href链接。如何编辑我的功能以浏览我网站每个页面上的每个链接?

List<WebElement> links = driver.findElements(By.tagName("a"));

2 个答案:

答案 0 :(得分:0)

伪代码(因为我不知道你的页面是如何格式化的)

while(links.hasNext())
{
your function here;
}

这就是人们通常会解析整个文档的方式,因为任何页面都只是代码行,所以你也可以解析它。或者,如果使用像selenium这样的东西,这是来自Appium的观点,你可以尝试创建一个包含指向你的href的指针的表,然后创建一个实际由它们填充的行变量driver.findByClass;然后只运行for或while循环。

答案 1 :(得分:0)

你可以尝试这样的事情。将尝试获取链接,并根据响应说明链接是否无效。

for(WebElement w : links){
    URLConnection = new URL(w.getAttribute("src")).openConnection();
    if (conn instanceof HttpURLConnection) {
        HttpURLConnection http = (HttpURLConnection) conn;
        Assert.assertTrue("The link is invalid", http.getResponseCode() < 400);
    }
}