【发布时间】:2012-05-11 09:33:52
【问题描述】:
在之前使用 Watir 之后,我最近开始使用 Watir-Webdriver,因为我需要一些 webdriver 中存在但 Watir 中没有的功能。我在 watir-webdriver 中遇到了一个我在 Watir 中从未遇到过的问题。
每当在 Watir 的按钮上使用 click 方法时,它都会隐式等待新页面完全加载。我在 Watir-webdriver 文档中读到了等待,在 question 中,watir-webdriver 中的等待已更改,以适应 AJAX 对网页所做的动态更改。现在,我正在自动化的页面没有任何 AJAX 元素,它只包含静态元素。
但是当我在 watir-webdriver 中使用 click 方法时,它并没有等待下一个页面隐式加载,而是立即执行调用中的下一行。我可以使用 wait_until_present 但是在等待页面加载点击似乎是标准行为时,对很多页面执行此操作对我来说似乎有点过头了。
我是否缺少一些需要切换的选项,以便在 watir-webdriver 中模拟 Watir 的点击方法?
【问题讨论】:
-
您确定页面没有通过 javascript 调用(例如自定义控件、jquery 等)加载部分内容吗?
-
等待没有太大变化,因为我们添加了额外的辅助方法,以便您更好地处理浏览器报告已完成加载页面的情况(加载了 html 中指定的所有文件) 但客户端操作仍在呈现、进行更改和/或加载其他内容。如果发生大量 javascript 和 CSS 类魔法来控制页面上对象的定位和呈现,即使在“静态”页面中,有时也会发生这种情况。
标签: ruby watir watir-webdriver webautomation