【发布时间】:2015-02-17 06:17:12
【问题描述】:
我有一个场景,如下面的屏幕截图所示:
所以,我构建了一些代码,可以让我单击左侧的条形图....每次我这样做都会在右侧显示一个关系条形图。如果左侧的条形图特别大,右侧的关系条形图可能需要一段时间才能显示出来。为了解决这个问题,我构建了一个 fluentWait 方法,如下所示:
public static void fluentWaitOnRelationalBarChartSelector(InternetExplorerDriver driver)
{
WebElement relationalBarSelect = (new WebDriverWait(driver, 20))
.until(ExpectedConditions.elementToBeClickable(By.tagName("rect")));
relationalBarSelect.click();
}
但是,并非总是如此,但有时,我会在控制台中收到如下错误:
Exception in thread "main" org.openqa.selenium.StaleElementReferenceException: Element is no longer valid
(WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 33 milliseconds
我不确定为什么在我应用 20 秒等待后 33 毫秒后会发生此超时?有没有办法让我满足这个StaleElementReferenceException?
任何帮助将不胜感激。
【问题讨论】:
-
只是一个更正@Andy。
FluentWait是 selenium java 绑定的一个类,机制与WebDriverWait不同,FluentWait的子类。见this -
感谢您的提示,赛夫 :-)
-
不客气。让我知道解决方案是否有效。
标签: java eclipse selenium webdriver