Selenium获得快速变化的元素StaleElementReferenceException的值

时间:2017-03-26 20:08:50

标签: java selenium

我需要获得快速变化元素的值(在这种情况下,计时器以毫秒为单位倒计时)但是当我尝试使用时

String timeLeftString = driver.findElement(By.xpath(timerXpath)).getText();

它只抛出StaleElementReferenceException,实际上从未获取元素的值。

如何测试这种元素的值?

1 个答案:

答案 0 :(得分:1)

以下是您的问题的解决方案:

我建议你为特定元素引入FluentWait。现在关于FluentWait的几句话,它适用于在动作发生后以特定间隔可见的元素。例如,下拉菜单可以有3个项目,每次只显示一个项目,间隔为3秒。所以在这里,在执行所需的操作之后,您必须引导FluentWait,它将在定义的时间间隔(总共3分钟)内以定义的间隔(250毫秒)轮询特定元素的属性(visibility_of_the_element或element_to_be_clickable)。此外,您可以灵活地指定处理异常,即使在定义的总间隔内可能发生异常,这样您的测试用例也不会失败。

如果此解决方案适合您,请告诉我。