使用Watir在Ruby中保存文件对话框/提示符

时间:2011-07-03 14:48:11

标签: ruby firefox scripting watir win32ole

我正在使用Watir在网站上执行某些操作,并最终向我提供保存文件的提示。我想要做的是自动关注提示并自动保存文件。

从我所看到的,使用win32ole有一些功能来执行这些操作。我通过

成功安装了gem
gem install win32ole-pp

并要求win32ole没有问题。但是,当我打电话说

ai = WIN32OLE.new("AutoItX3.Control")

我收到错误:

unknown OLE server: `AutoItX3.Control'

有一个针对此问题here的建议解决方案,但是有问题的.dll不在正确的文件夹中。

所以,我只是想知道在Watir还有另一种方法吗?或者是否存在我遇到的问题的其他解决方案?

感谢。

1 个答案:

答案 0 :(得分:0)

我用watir和firefox解决了这个问题。 Firefox可以选择自动保存有关其MIME的目标文件类型,而不会在参数化文件夹中提示。 Watir可以访问firefox参数并可以修改它们:

downloadDir = "your-dl-dir"
profile = Selenium::WebDriver::Firefox::Profile.new
profile['browser.download.dir'] = downloadDir
profile['browser.download.folderList'] = 2
profile['browser.helperApps.neverAsk.saveToDisk'] = 'images/jpeg, application/pdf, application/octet-stream'
browser = Watir::Browser.new(:firefox, :profile => profile)

来源:http://elementalselenium.com/tips/2-download-a-file