在我的C#app中使用selenium web驱动程序,我收到此错误:
OpenQA.Selenium.StaleElementReferenceException: stale element
reference: element is not attached to the page document
在这段代码中:
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; } }