【发布时间】:2015-09-29 13:25:30
【问题描述】:
我的测试中有wait,如下所示:
WebDriverWait wait = new WebDriverWait(dr, TimeSpan.FromSeconds(30));
...
wait.Until((d) =>
{
if (d.FindElement(By.XPath("//*[@src='/loader.gif']")).Displayed)
{
System.Threading.Thread.Sleep(200);
return false;
}
else
{
return true;
}
});
我有时会收到StaleElementReferenceException。它在 95% 的时间内都能正常工作,但在测试中的不同地方都失败了。
错误:
消息:OpenQA.Selenium.StaleElementReferenceException:元素不是 在缓存中找到 - 页面可能在查看后已更改 向上
【问题讨论】:
-
d是 WebElement 还是 WebDriver?如果是前者,请确保它在执行等待时不会改变。
标签: c# exception selenium selenium-webdriver wait