watir не удалось найти элемент с типом = "File" - PullRequest
2 голосов
/ 17 декабря 2011

HTML на странице содержит:

<input type="File" name="File" size="70" value="" class="inputfield_en">

Я пытаюсь установить значение, используя ruby ​​(1.9.2) и watir-webdriver (0.3.5)

@browser.file_field(:type=>"File",:name=>"File",:class=>"inputfield_en").to_subtype.set("#{Dir.pwd}/status_feed_for_test.xml")

Но я получаю:

   .rvm/gems/ruby-1.9.2-p290/gems/watir-webdriver-0.3.5/lib/watir-webdriver/elements/element.rb:248:in `assert_exists': unable to locate element, using {:type=>"file", :name=>"File", :class=>"inputfield_en", :tag_name=>"input"} (Watir::Exception::UnknownObjectException)

Это потому, что HTML содержит тип File с большой буквы "F"? (У меня нет контроля над HTML). Как исправить?

1 Ответ

3 голосов
/ 17 декабря 2011

В watir вам нужно указать столько селекторов, сколько необходимо для уникальной идентификации элемента. В этом случае вам, вероятно, потребуется только :name.

@browser.file_field(:name=>"File")

Обновление : Похоже, что вы столкнулись с ошибкой в ​​watir-webdriver, когда file_field выбирает только поле строчными буквами type="file". Вы можете попробовать более общий метод выбора:

@browser.element(:xpath => '//input[@type="File"]')
...