使用java查找网页上所有链接的功能?

时间:2014-05-03 16:34:23

标签: java selenium selenium-webdriver

我正在尝试在网页上找到损坏的链接,我正在使用:

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

只查找当前网页上的元素,但我也想在第一页上找到可用的子元素。有没有办法做到这一点?如果你们能帮助我,我将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分:0)

尝试添加此元素,而不是每次都创建List。像这样的Smth:

List<WebElement> var = null;
var.addAll(driver.findElements(By.tagName("a")));

答案 1 :(得分:0)

所有链接都有锚标记,因此您可以基于锚标记定位器创建Web元素列表,然后打印每个元素的文本或href标记(即链接URL)。 脚本 -

public static void main(String[] args){
    WebDriver driver = new FirefoxDriver();

    //Launching sample website
    driver.get("{webpage URL}");

    //Get list of web-elements with tagName  - a
    List<WebElement> allLinks = driver.findElements(By.tagName("a"));

    //Traversing through the list and printing its text along with link address
    for(WebElement link:allLinks){
        System.out.println(link.getText() + " - " + link.getAttribute("href"));
    }
}

参考 - Get all links on a webpage using selenium and Java