watir无法找到type =“File”的元素

时间:2011-12-16 23:06:13

标签: ruby watir watir-webdriver

页面上的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包含大写字母为“F”的文件吗? (我无法控制HTML)。怎么解决?

1 个答案:

答案 0 :(得分:3)

在watir中,您只需要指定尽可能多的选择器来唯一标识元素。在这种情况下,您可能只需要:name

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

更新:您似乎在watir-webdriver中遇到了一个错误,其中file_field仅选择小写type="file"的字段。您可能想尝试更通用的选择方法:

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