Watir: How to wait until a div is no longer visible
我正在使用 Cucumber、Watir 和 Selenium 驱动程序运行一些 BDD 测试。我需要运行的测试之一是确保加载页面后加载 div 消失,然后出现搜索框。
我有这行:
@browser.text_field(placeholder: /Search/).wait_until(&:present?)
这应该等到搜索框可见,但它没有。
我想然后 wait_until div id='loader' 不可见。
我不知道如何用 Watir 来表达这一点。
- 您可以在文本框中写入一些文本并检查它是否正在将文本写入相应的文本字段。
-
@Rajagopalan 是的,这很奇怪。我可以在框中设置文本...但是,当我尝试单击更新的 div 时,它会收到一条错误消息,指出链接不可点击,因为它被另一个 div 遮挡:仍在加载的那个
-
如果另一个 div 遮挡了它,则等待该元素先消失,然后刺激点击所需的元素。
-
@Rajagopalan 是的,这正是我想要做的,但我不知道如何用 Watit 来表达
-
您是在 Firefox 还是 Chrome 中执行?如果您对 Firefox 感兴趣,那么我知道通过其他方式解决此问题的方法。
可以使用 #wait_while:
来等待某物消失
1
| browser.div(id: 'loader').wait_while(&:present?) |