使用watir-webdriver选择本地文件

我正在尝试使用watir-webdriver自动化从html页面中选择本地文件的过程

我有以下HTML

 
test file to upload:

我试图点击idtest的输入,并使用watir-webdriver设置我希望上传的本地文件的路径。

我可以使用以下单击按钮以显示选择窗口

 @browser.goto 'http://www.test.com' @browser.button(:id => 'test').click 

然而,我正在尝试使用以下(从研究,这似乎是正确的方法。虽然不工作)

 @browser.file_field(:name => 'file').set("C:\\path\\to\\test\\file\\validTest.xml") 

这会导致以下错误

 Watir::Exception::UnknownObjectException: unable to locate element, using {:name=>"file", :tag_name=>"input", :type=>"file"} 

 @browser.button(:id => 'test').set("C:\\path\\to\\test\\file\\validTest.xml") 

导致以下错误

 NoMethodError: undefined method `set' for # 

有人可以帮忙吗? 我很难理解为什么file_field选项不起作用。

尝试使用以下function:

 @browser.file_field(:id,"upload").set("filepath") 

此外,如果您使用的是IE浏览器,请确保您使用的是IEDriverServer_Win32_2.33.0,因为它在此驱动程序上运行正常,而不是最新的。

试试这个:

 @browser.file_field(:id => 'test').set("C:\\path\\to\\test\\file\\validTest.xml") 

尝试在最新的IEDriver中使用这样的。 将文件路径分配给变量然后进行设置

 filepath = "C:\\path\\to\\test\\file\\validTest.xml" @browser.file_field(:id,"upload").set(filepath)