一尘不染

此错误是什么意思:陈旧元素引用:元素未附加到页面文档?

selenium

在我的C#应用​​程序中使用Selenium Web驱动程序时,出现以下错误:

OpenQA.Selenium.StaleElementReferenceException:陈旧元素引用:元素未附加到页面文档

在此代码中:

IWebElement e = driver.FindElement(By.XPath(link_click), 10);
e.Click();

错误行在中,e.Click()但这是在XPath之前指定的相同链接中成功执行但在最后一次尝试中失败的过程!那么这个错误是什么意思以及如何解决呢?


阅读 527

收藏
2020-06-26

共1个答案

一尘不染

这意味着在页面中更改的元素或元素被删除,此链接中的完整参考http://www.seleniumhq.org/exceptions/stale_element_reference.jsp

解决此问题的一种方法是,您可以重试,可能类似于

bool staleElement = true; 
while(staleElement){
  try{
     driver.FindElement(By.XPath(link_click), 10).Click();
     staleElement = false;

  } catch(StaleElementReferenceException e){
    staleElement = true;
  }
}
2020-06-26