Ruby Watir收音机复选框

Ruby Watir收音机复选框,ruby,checkbox,watir,Ruby,Checkbox,Watir,我正在尝试用.set设置收音机控件上的复选框?选项它返回false,但我无法设置复选框 <div class=""> <input name="radiostorage" id="zrs" value="2" type="radio"> <label for="zrs">Zone-redundant storage (ZRS)</label> </div> 已经尝试使用labelfor:'zrs'.set.click.parent.c

我正在尝试用.set设置收音机控件上的复选框?选项它返回false,但我无法设置复选框

<div class="">
<input name="radiostorage" id="zrs" value="2" type="radio">
<label for="zrs">Zone-redundant storage (ZRS)</label>
</div>
已经尝试使用labelfor:'zrs'.set.click.parent.click.parent.set,也直接尝试单击输入,但没有任何结果,没有任何线索

TIA怎么样

radio = browser.radio(id: 'zrs')
radio.set?        #=> false
radio.set
radio.set?        #=> true

请参见

鉴于单选按钮的实现方式,它将被视为不可见。尝试直接设置时会出现异常:

browser.radio(id: 'zrs').set
#=> element located, but timed out after 2 seconds, waiting for #<Watir::Radio: located: true; {:id=>"zrs", :tag_name=>"input", :type=>"radio"}> to be present (Watir::Exception::UnknownObjectException)

输入元素实际上是radio类型,所以复选框必须是radio。哦,是的,你说得对!我在原始帖子中提到了复选框,这误导了我。我考虑过编辑原始帖子以引用适当的控件类型,但决定不这样做,因为那时他的问题将非常不清楚。此外,如果他感到困惑,其他人也可能感到困惑。我怀疑,使用这些控件的人从未接触过“无线电”控件建模所用的硬件,这种情况正在变得越来越普遍。控件的名称对他们来说可能毫无意义。如果这是您,请对“按钮车载收音机”进行图像搜索,这可能有助于您理解问题的所在。如果我尝试在irb控制台上使用browser.radio ID:“zrs”,我会找到false,但如果我尝试使用.set?is显示为false,因此我在这一点上感到困惑,因为我似乎无法正确地找到元素。即使使用收音机的xpath或我得到的输入的xpath,我也找到了false。你有没有可能创建一个示例页面?使用browser.labelfor:'zrs'。单击并使用browser.radio:'zrs'。单击对我有效。我猜是有一些CSS/JavaScript造成了不同。我认为您混淆了两种不同类型的输入控件。复选框是一个独立的东西,可以设置或取消设置,而不考虑周围的其他控件。收音机控制装置类似于过去在汽车中使用的老式按钮式收音机,其中有一组选择,但一次只能启用一个,启用一个会导致禁用任何其他启用的按钮式收音机。如果你试图在watir中将一个无线电控制作为复选框来处理,它肯定会失败,因为它们是不同的控制类型。谢谢,它像一个符咒一样工作,但我很困惑,因为我在irb上尝试了这个方法,但没有起作用,从irb或rubymine上做它应该没有任何区别,无论如何,谢谢你的帮助
browser = Watir::Browser.new
browser.goto('https://pricing-calculator.bluekiri.cloud/')
p browser.radio(id: 'zrs').set?
#=> false
browser.label(for: 'zrs').click
p browser.radio(id: 'zrs').set?
#=> true