在之前使用Watir之后,我最近开始使用Watir-Webdriver,因为我需要一些在webdriver中存在但在Watir中没有的功能。我在watir-webdriver中遇到了一个问题,这是我在Watir中从未遇到过的。
每当在Watir中的按钮上使用click方法时,它都会隐式地等待,直到新页面完全加载。我在Watir-webdriver文档上读到,watir-webdriver中的等待和在此question中的等待已被更改,以适应AJAX对网页所做的动态更改。现在,我自动化的页面没有任何AJAX元素,它只包含静态元素。
但是,当我在watir-webdriver中使用click方法时,它不会等待下一个页面隐式加载,而是立即执行调用中的下一行。我可以使用is wait_until_present,但当等待页面在点击时加载似乎是标准行为时,对我来说,对许多页面这样做似乎有点过分。
我是否遗漏了一些需要切换的选项,以便在watir-webdriver中模拟Watir的click方法?
发布于 2012-05-03 01:35:31
如果浏览器显示页面已加载,但客户端仍有问题(可能是javascript代码执行,或css逻辑等),那么我建议您在操作之前使用'when_present' decorator。
这比单独的等待步骤要干净一些,而且比固定的睡眠周期等要好得多。
browser.button(:how => 'what').when_present.click发布于 2012-05-09 00:02:54
如果您希望加载内容而不是单击,也可以等待div加载。
browser.div(:how => 'what').wait_until_presenthttps://stackoverflow.com/questions/10404789
复制相似问题