跨浏览器单击watir-webdriver

时间:2012-12-05 10:04:18

标签: watir watir-webdriver

我正在使用Watir-Webdriver进行自动化测试。但它似乎不适合跨浏览器。 例如,它通常在Firefox和Chrome中正常工作,但在IE中不稳定。 当我得到一个元素并点击时,在ie7,8,9中它以不同的方式响应。 可以单击该按钮,但不会发生。 我尝试了很多方法:click,click(),send_key,fire_event但我还没有得到跨浏览器点击的最终解决方案。 例如,在ie9中,当使用click时,有时候它工作得很完美,有时候不行,我不知道原因。

我们是否有一个解决方案,例如函数允许我们在多个浏览器中的元素中单击成功(特别是在IE7,8,9中)?

3 个答案:

答案 0 :(得分:0)

我认为IE使用与其他浏览器不同的“点击”方法。因此,除非它具有不间断的焦点,否则它是不可预测的。另一种方法是使用Watir Classic专门用于IE,因为它使用COM对象而不是Javascript。

答案 1 :(得分:0)

尝试使用.when_present装饰器,以确保您不会尝试单击未处于准备好单击的状态的某些内容。有时对较旧的IE浏览器等较慢的浏览器非常有用。

browser.link(:id => "foo").when_present.click

答案 2 :(得分:0)

您可能也遇到过我之前发布的这个问题:Watir Webdriver in IE8, click link, event seems to keep firing for ever

IE中的点击是否在您第一次在新会话中使用时工作,然后再也不会在该会话中再次工作?这对我来说这和我的问题是一样的。