我目前有一个功能可以检查单个页面上的所有空href链接。如何编辑我的功能以浏览我网站每个页面上的每个链接?
List<WebElement> links = driver.findElements(By.tagName("a"));
答案 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);
}
}