【问题标题】:Checkbox enabled on screen but code says disabled屏幕上启用了复选框,但代码显示已禁用
【发布时间】:2012-01-28 07:16:13
【问题描述】:

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

 <input disabled="disabled" type="checkbox" class="billingCheck"  />

我的代码如下:

 browser.checkbox(:class => 'billingCheck').set

我收到以下错误:

C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-2.0.4/lib/watir/element.rb:84:in `asse rt_enabled': object {:class=>"billingCheck"} 并且被禁用 (Watir::Exception: :ObjectDisabledException)

我尝试使用以下代码,但它直接通过了代码。

if
browser.checkbox(:class => 'billingCheck').visible?
browser.checkbox(:class => 'billingCheck').set
end

有什么想法吗?提前致谢。

【问题讨论】:

  • 页面上是否有多个具有相同类的复选框?这会返回什么? browser.checkboxes(:class =&gt; 'billingCheck').size
  • 是的,可能还有更多复选框,它们会在创建新帐户时动态创建。每个复选框都有相同的代码
  • 然后你的代码访问一个被禁用的复选框。
  • 禁用不等于不可见。当然 Disabled.disabled 似乎是双重否定,所以也许这意味着启用? ;-) 你应该让开发人员制作一个更好的网页。

标签: ruby checkbox watir


【解决方案1】:

试试这个:

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

【讨论】:

  • 确实设置了复选框,唯一的问题是由于某种原因,当我单击保存按钮时是否会从复选框中删除检查
  • 您是否手动检查过网站的功能?如果它正在生产中,它可能是网站本身的错误。
  • 手动工作正常,复选框在提交时保持其值
  • 最好的办法是您可以提供网站 URL,如果它是公开的,那么我们可以看看。如果没有,你能分享页面 HTML 吗?只需确保您提供的页面与您正在测试的页面行为相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-10
  • 1970-01-01
  • 1970-01-01
  • 2019-03-20
  • 2017-11-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多