如何使用 watir-webdriver 等待页面加载
使用 watir-webdriver,如何在点击链接后等待页面加载?
目前我正在使用:
sleep n
但这并不理想,因为页面响应变化很大。
有没有办法测试页面是否准备好或者页面中是否存在某个元素?我知道在普通的 Watir gem 中有 Watir::Waiter.wait_until
或类似的东西,但我在 webdriver 版本中没有看到这个。
Using watir-webdriver, how do I wait for a page to load after I click a link?
At the moment I am using:
sleep n
But this is not ideal as the page response varies so much.
Is there a way to test whether the page is ready or whether there is a certain element in the page? I understand in the normal Watir gem there is Watir::Waiter.wait_until
or something similar, but I don't see this in the webdriver version.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
这就是我在项目中等待 AJAX 的方式:
This is how I wait for AJAX in my project:
可以使用browser.wait_until。
它更有帮助,因为您可以在参数 (
()
) 中定义要等待的内容,如下所示:browser.wait_until
can be used.It's more helpful because you can define what to wait for in the parameters (
()
), as in:您可以使用
wait_until
或waituntilExists
方法。You can use the
wait_until
orwaituntilExists
methods.我遇到了同样的问题,我尝试通过结合
wait_until_present
和@marc 提供的技巧来修复它:
请注意,确保它确实
存在是您自己的责任。
I had the same problem, and I tried to fix it by combining
wait_until_present
andtricks povided by @marc:
Notice that it is your own responsibility to make sure that
does exist.
我不知道它们是否是最好的方法,但这就是我处理等待更新
div
清除的方式:这就是我处理等待显示内容的方式:
I don't know if they're the best way, but this is how I'm handling this for waiting for an updating
div
to clear:This is how I handle waiting for something to display:
今天的版本添加了一个可选要求,引入了一些等待元素的帮助程序。这些(目前)在 Watir 1.6 中不可用,因此如果您同时使用这两个库,请注意。
检查“AJAX 并等待元素” Watir-webdriver 维基百科了解更多信息。
Today's release adds an optional require that brings in some helpers for waiting for elements. These are not (at the moment) available in Watir 1.6, so be aware if you use both libraries side by side.
Check "AJAX and waiting for elements" in the Watir-webdriver Wiki for more information.
最好的总结可以在“等待”中找到。
简而言之:
The best summary is found in "Waiting".
This is it in a nutshell: