我正在尝试使用Watir-Webdriver通过基于Web的表单上传文件作为电子邮件附件。我遇到的问题是,与FileInput键绑定的实际HTML代码隐藏在页面上,因此无法与使用:

@browser.file_field(:id => "fileInput").set "#{filepath}"

页面html代码:

<!--Real Input field, but hidden-->
<input id="fileInput" type="file" value="" name="attachment"></input>
<input id="fileButton" type="button" name="attachment" value="Choose Files"
onclick="document.getElementById('fileInput').click();"></input>

现在,话虽如此,我能够单击页面上的“选择文件”按钮,该按钮打开“文件上传”窗口。因此,如果我无法与隐藏的HTML元素完全交互,我该如何使用Ruby来指定要使用该弹出窗口上传的文件? win32ole?

有帮助吗?

解决方案

想到了两个潜在的解决方案

一个,使用OS级自动化工具,例如Autoit或 rautomation与系统级文件选择控制

两个,与页面的开发人员协商并执行JavaScript以设置适当的值,就像使用了文件选择工具一样。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top