StaleElementReferenceException:过时的元素参考:元素未附加到页面文档

时间:2018-07-31 15:47:44

标签: java selenium selenium-webdriver staleelementreferenceexception

我在Selenium Java项目中不断收到错误消息。

for(WebElement link:AllTheLinkList) {
    if (link.getAttribute("href") != null
        && ! link.getAttribute("href").contentEquals("javascript"))
    {
        activeLinks.add(link);
    }
}

// Get total amount of links in the page
System.out.println("Size of active links and images --->"
                 + activeLinks.size()); 

错误消息是:

  

线程“ main”中的异常org.openqa.selenium.StaleElementReferenceException:失效元素引用:元素未附加到页面文档中

1 个答案:

答案 0 :(得分:0)

问题通常是在循环期间刷新了您获得链接的页面。一种解决方案是获取具有href值的字符串列表,然后在开始循环后,所有对象均为字符串,并且不会更改。

另一方面,您可以使用数字迭代器进行循环,然后可以再次获取AllTheLinkList。下一次循环迭代之前的最后一条指令。