使用Selenium获取网站中的所有链接

时间:2018-02-01 04:34:51

标签: selenium selenium-chromedriver

我想获取网站中的所有链接,然后单击每个链接。基本上我想检查该网站是否有任何断开的链接?

我想到的一种方法是在主地图中添加所有链接作为其文本,并继续添加地图,直到添加菜单项页面中的所有链接,然后在地图上迭代并单击每个链接。< / p>

但我知道这不是最佳解决方案,因为我们仍然可以错过一些链接。

有没有人对此有任何其他更好的解决方案?

2 个答案:

答案 0 :(得分:1)

您可以使用以下方法验证链接是否已损坏。

ID
---
5
6

答案 1 :(得分:0)

普拉迪普的回答很适合验证链接,但您似乎首先要问的是如何 - 链接 -

List<WebElement> allLinks = driver.findElements(By.xpath("//a"));

如果您要使用Pradeep的方法,则需要将URL作为字符串传递:

for(WebElement link : allLinks)
    verifyURLStatus(link.getAttribute("href"));

我的示例忽略了返回的无效网址列表数组,但您明白了。

相关问题