0
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
4

1 回答 1

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)
于 2016-08-03T13:08:11.920 回答