Радиокнопки (с прописным «типом» в HTML) в Watir Firefox Webdriver - PullRequest
3 голосов
/ 30 марта 2011

Я использую Firefox 4 с Watir Webdriver.У меня есть веб-страница со следующим текстом:

<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>'

Что происходит?

1 Ответ

4 голосов
/ 30 марта 2011

Похоже, вы нашли ошибку в watir-webdriver - он не найдет элемент ввода, если атрибут type имеет верхний регистр (который действительно является допустимым HTML).

В качестве обходного пути вы можете сделать это:

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

Элемент Container # возвращает универсальный элемент (в этом случае исключается проверка типа ввода, которая не выполняется для атрибута верхнего регистра), который можно «привести» к более конкретному элементу с помощью Element # to_subtype (который возвращает Watir: : Radio)

.
...