【发布时间】:2021-09-16 07:37:52
【问题描述】:
下面是我要开始工作的代码。
//Method to fetch all links from the sitemap container
public void GetAllLinks() {
WebElement pointer = LinksContainer;
String url = "";
List <WebElement> allURLs = pointer.findElements(By.tagName("a"));
System.out.println("Total links on the page: "+ allURLs.size());
for (int i=0; i<allURLs.size(); i++) {
WebElement link = allURLs.get(i);
url = link.getAttribute("href");
OpenAllLinks(url);
}
}
//Method to hit all the fetched URLs
public void OpenAllLinks(String linkURL) {
driver.get(linkURL);
}
我正在从站点地图页面获取所有锚元素,然后将所有这些元素放入列表中。然后,我使用getAttribute(href) 从所有这些元素中获取 URL。代码运行良好,直到这里。
但是,之后我将这些 URL 作为参数并传递给方法 OpenAllLinks() 以使用 driver.get() 一个一个地打开所有这些 URL。该代码在第一个链接之前一直有效,但是一旦加载了第一页,它就会给我陈旧的元素异常。
【问题讨论】:
-
欢迎来到 SO。请发布您遇到的错误。
-
嗨@DmitriyPopov。谢谢你的评论。当我离开提取所有链接的页面时,我遇到了过时的元素异常。通过使用 Prophet 发布的解决方案,我能够达到预期的结果。