我们如何使用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));
    }
    }

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...