Ruby 屏幕上的复选框已启用,但代码显示已禁用

Ruby 屏幕上的复选框已启用,但代码显示已禁用,ruby,checkbox,watir,Ruby,Checkbox,Watir,好的,我有一个奇怪的 我有一个复选框,该复选框在页面上可见,并且可以单击。但当我查看源代码时,它会说: <input disabled="disabled" type="checkbox" class="billingCheck" /> 我得到以下错误: C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-2.0.4/lib/watir/element.rb:84:in `asse rt_enabled':对象{:class=>“billingC

好的,我有一个奇怪的 我有一个复选框,该复选框在页面上可见,并且可以单击。但当我查看源代码时,它会说:

 <input disabled="disabled" type="checkbox" class="billingCheck"  />
我得到以下错误:

C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-2.0.4/lib/watir/element.rb:84:in `asse rt_enabled':对象{:class=>“billingCheck”}已禁用 (Watir::Exception::ObjectDisabledException)

我试着使用下面的代码,但它完全忽略了代码

if
browser.checkbox(:class => 'billingCheck').visible?
browser.checkbox(:class => 'billingCheck').set
end
有什么想法吗?提前感谢。

试试这个:

browser.checkboxes(:class => 'billingCheck').each {|checkbox| checkbox.set if checkbox.visible?}

页面上是否有多个同一类的复选框?这是什么回报<代码>浏览器。复选框(:class=>“billingCheck”)。大小是的,可能有更多复选框,它们在创建新帐户时动态创建。每个复选框都有相同的代码然后您的代码访问一个禁用的复选框。禁用与不可见不同。当然,Disabled.Disabled似乎是双重否定,所以这可能意味着启用?;-)您应该让开发人员制作一个更好的网页。这确实设置了复选框,唯一的问题是出于某种原因,当我单击“保存”按钮时,是否会从复选框中删除复选框您是否手动检查了网站的功能?如果是在生产中的站点,则可能是站点本身的错误。手动操作,效果良好。复选框在提交时保留其值。最好是您可以提供站点URL,如果它是公共的,那么我们可以查看一下。如果没有,你能分享网页HTML吗?只需确保您提供的页面与您正在测试的页面的行为相同。
browser.checkboxes(:class => 'billingCheck').each {|checkbox| checkbox.set if checkbox.visible?}