页面上的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)。怎么解决?
答案 0 :(得分:3)
在watir中,您只需要指定尽可能多的选择器来唯一标识元素。在这种情况下,您可能只需要:name
。
@browser.file_field(:name=>"File")
更新:您似乎在watir-webdriver中遇到了一个错误,其中file_field
仅选择小写type="file"
的字段。您可能想尝试更通用的选择方法:
@browser.element(:xpath => '//input[@type="File"]')