文件上传工作但不通过程序

时间:2015-03-31 13:58:11

标签: ruby watir watir-classic

我上传的csv文件就是这样,有一个文本框,文件路径可以通过浏览器按钮加载,随后我会按下上传按钮,现在我的问题就在这里,当我尝试做上述过程通过手动操作它可以很好地工作,但是当我尝试通过程序化完成时,它会在点击上传按钮时清除文本字段,因此在上传时从文本字段中取出空白,因此它不会上传任何内容。

我的代码:

$browser.file_field(:id,"additionalInfo(clientUri)").click_no_wait
      sleep 2
      save_dialog = WIN32OLE.new("AutoItX3.Control")
      save_dialog.ControlSend("Choose File to Upload", "", "Edit1", sMEPackageData['MachineryUploadPath'])
      sleep 2
      saveClick=save_dialog.ControlClick("Choose File to Upload","", "&Open")
      sleep 2

ruby​​ 1.8.7,watir 3.0.0 有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

Watir提供了一种将文件上传到文件字段的方法 - FileField#set

您只需将文件的路径传递给set方法:

 $browser.file_field(:id,"additionalInfo(clientUri)").set(sMEPackageData['MachineryUploadPath'])