【发布时间】:2021-06-27 07:47:30
【问题描述】:
我有一个包含
元素的网站。
此元素在页面加载时的值为 x 作为 innerhtml,在 z 秒后值为 y。
我不知道 x 和 y 的值是什么,因为它们经常变化。 z 可能介于 0 到 5 之间。因此,我不能使用 wait_until 或 wait_while。所以这真的行不通,因为我不知道要等什么。
Watir::Wait.until(5) {
element.text == "abracadabra"
}
所以我真的需要等待 5 秒钟,然后检查元素的文本。 Watir 是否有某种我可以使用的 timout 功能?喜欢 javascript setTimeout()?
【问题讨论】:
-
你在拧测试看看屏幕上是否有元素?
-
您知道它会发生变化,以便您获得原始值并等待该值不是那个值吗?
-
@Rajagopalan:否元素始终在屏幕上。我想要它改变后的值。变化可以立即发生,也可以在 5 秒内发生。如果更改立即发生,则与从未更改一样。即使我尽快请求,Watir 也会给我更改后的值。
-
@titusfortner 在大多数情况下这是可能的,但如果更改发生得太快,那么我会完全错过原始值。 Watir 在我第一次请求时给了我更改后的值。
标签: ruby-on-rails selenium sleep watir