我们如何使用Java Selenium在网站上找到除首页以外的所有链接

问题描述

我想在除主页之外的其他网站上获取所有带有其响应代码链接。我尝试将findElements方法与锚标记一起使用,但这仅在首页上提供了链接。现在,假设我在该主页中也有一些菜单,并且我也想获得与该页面相关联的链接。有可能吗?

解决方法

使用此功能,您可以从页面收集链接。

List<WebElement> aTags = driver.findElements(By.tagName("a");
List<String> links = new ArrayList<String>();
for (WebElement aTag: aTags) {
    links.add(aTag.getAttribute("href");
}

对于所有链接,它们都不是文件链接,您也可以循环播放。 另一件事是检查响应代码,请参见https://www.baeldung.com/java-http-request

,

要获取网页中存在的所有活动链接,请尝试以下代码。如有可能,请分享您的测试网址和代码,然后我可以从自己的角度进行复制。

 List<WebElement> linksList = driver.findElements(By.tagName("img"));
 linksList.addAll(driver.findElements(By.tagName("a")));
 System.out.println("The full size of Links and Images are: "+linksList.size());
 List<WebElement> activeLinks = new ArrayList<WebElement>();
 for(int i=0; i<linksList.size(); i++) {
 Thread.sleep(200);
 System.out.println(linksList.get(i).getAttribute("href"));
    if(linksList.get(i).getAttribute("href") != null) {
        activeLinks.add(linksList.get(i));
    }
    }