1

我有一个按钮(type = "radio"),这个按钮上有 Javascript。
我使用 xpath 找到了按钮:

browser.element(:xpath, n2).wait_until_present  
browser.element(:xpath, n2).fire_event "onclick"

假设我必须在一个循环中单击同一个按钮 100 次,并且 80%​​ 的时间都失败了。它有时可以正常工作。单击按钮后,当我向下移动浏览器进行其他单击时,此按钮本身不会单击(清除)。当我在那个页面上时,我需要这个按钮一直保持点击状态。

我尝试添加延迟,但没有帮助。有没有其他方法可以处理这个问题。

4

1 回答 1

2

Watir 提供了与单选按钮类型输入元素交互的特定方法,请参阅http://rubydoc.info/gems/watir-webdriver/Watir/Radio

除非您别无选择,否则不要将 xpath 用作定位器,它丑陋、如果操作不当则易碎且难以理解。对于单选元素,您通常通过值或文本来识别

--使用http://www.echoecho.com/htmlforms10.htm中的示例

设置 Cheese 收音机

browser.radio(:value => "Cheese").set

要检查它的状态,请使用 .set?它将返回真假

puts browser.radio(:value => "Cheese").set?

请注意,如果页面上有 javascript,取决于它采取的操作,它可能会取消设置收音机。但是,在您对该页面执行其他操作后,您始终可以让您的脚本检查它的状态。

于 2013-04-03T17:50:09.677 回答