在我的C#应用程序中使用Selenium Web驱动程序时,出现以下错误:
在此代码中:
IWebElement e = driver.FindElement(By.XPath(link_click), 10);
e.Click();
错误行在
e.Click()
中,但这是一个在XPath之前指定的相同链接中成功执行但在最后一次尝试中失败的过程!那么这个错误是什么意思以及如何解决呢? 最佳答案
这意味着在页面中更改的元素或元素将被删除,此链接中的完整引用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;
}
}