2011-03-29 67 views
3

我使用Firefox 4与Watir Webdriver。 我有一个网页有以下几点:Watir Firefox Webdriver中的单选按钮(在HTML中为大写'type')

<input id="RadioM" type="RADIO" value="M" name="Field_SEX">Male 
<input id="RadioF" type="RADIO" value="F" name="Field_SEX">Female 

这些似乎真的标准单选按钮给我。 我的Watir代码:

browser.radio(:id , "RadioM").set 

的错误信息是:

C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.2.1/lib/watir-webdriver/elements/element.rb:241:in `ass 
ert_exists': unable to locate element, using {:id=>"RadioM", :tag_name=>"input", :type=>"radio"} (Watir::Exception::Unknown 
ObjectException) 
     from C:/Program Files/Ruby192/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.2.1/lib/watir-webdriver/elements/radio.rb: 
9:in `set' 
     from I:/watir/one.rb:22:in `<main>' 

会发生什么?

回答

4

看起来您在watir-webdriver中发现了一个错误 - 如果'type'属性是大写的(这确实是有效的HTML),它将无法找到输入元素。

作为一种变通方法,可以做到这一点:

browser.element(:id, "RadioM").to_subtype.set 

集装箱#元件返回通用元素(在此情况下,避免该故障对于上套管属性输入类型检查),这可以通过“强制转换为元素#to_subtype(返回一个Watir :: Radio)的更具体的元素。

+0

你能告诉我我在哪里举报吗? – 2011-03-30 05:27:04

+0

你可以在这里报告:https://github.com/jarib/watir-webdriver/issues,但Jari是watir-webdriver的开发者,所以我猜他已经意识到了这个问题。 :) – 2011-03-30 09:19:56