此代码在WATIR-Classic中运行,但不在watir-webdriver中运行

时间:2016-08-03 07:47:25

标签: watir watir-webdriver watir-classic

require 'watir'
b=Watir::Browser.new
b.goto 'www.xyz.com'
b.maximize
b.label(:text, "Car Make").parent.spans[1].click
b.element(tag_name: 'md-option', text: "BMW").when_present.click

上面的代码在为watir-classic编写时工作正常,但是当我为watir-webdriver编写上面的代码时,可见性检查阻止我点击b.label(:text, "Car Make").parent.spans[1].click这个元素,有什么办法可以取消在watir webdriver中查看此可见性检查?我为watir-webdriver编写的代码如下:

require 'watir-webdriver'
require 'watir-scroll'
b=Watir::Browser.new :chrome
b.goto 'www.xyz.com'
b.window.maximize
b.label(:text, "Car Make").parent.spans[1].click
b.element(tag_name: 'md-option', text: "BMW").when_present.click

1 个答案:

答案 0 :(得分:1)

Watir-Webdriver中没有禁用可见性检查的选项。对于测试,实际上最好不要与不可见元素进行交互。

最佳解决方案是在单击之前使标签/跨度可见。也许你只需要等待它出现:

b.label(:text, "Car Make").parent.spans[1].when_present.click

如果您确实想要绕过可见性检查,则可以直接触发click事件。请注意,如果您的元素不仅仅需要点击一下,您可能需要触发多个事件:

b.label(:text, "Car Make").parent.spans[1].fire_event(:onclick)