2011-03-29 66 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