【问题标题】:Selenium getting value of rapidly changing element StaleElementReferenceExceptionSelenium 获取快速变化的元素 StaleElementReferenceException 的价值
【发布时间】:2017-03-26 20:08:50
【问题描述】:

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

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

它只是抛出 StaleElementReferenceException 并且从未真正获取元素的值。

如何测试此类元素的值?

【问题讨论】:

  • 如果没有指向页面的链接或至少没有相关的 HTML,就很难说出问题的原因。

标签: java selenium


【解决方案1】:

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

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

让我知道此解决方案是否适合您。

【讨论】:

  • @IgorVereš 如果此答案满足您的问题,您能否接受它作为关闭讨论线程的解决方案。谢谢。
猜你喜欢
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-05
  • 2014-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多