如果由Javascript启动下载(通常是通过提交表单的一些Javascript代码,可以动态添加到页面中),在Watir中强制文件下载的标准方法都不适用于我:我仍然获取浏览器文件下载确认弹出窗口,无法在Watir中编写脚本。更糟糕的是,看起来甚至传统方法在遵循下载文件的传统链接时起作用,现在在最新的浏览器中被破坏,请看另一个问题: How to download a file using Watir 6.0
有关如何做的任何建议吗?
答案 0 :(得分:1)
现在的文档在这里:http://watir.com/guides/downloads/
prefs = {
download: {
prompt_for_download: false,
default_directory: '/path/to/dir'
}
}
b = Watir::Browser.new :chrome, options: {prefs: prefs}
但最佳做法是不使用Watir或Selenium来处理下载。理想情况下,文件的创建和访问是在单元或集成测试中处理的。 Watir与浏览器交互,而下载部分是操作系统功能。这就是说,可能无法完全满足您的需求。
答案 1 :(得分:0)
如果遇到类似的问题,我启用了logger.level,它帮助我确定是否为“chromeOptions”设置了prefs
Selenium::WebDriver.logger.level = :info
prefs = {
download: {
prompt_for_download: false,
default_directory: "#{FigNewton.download_files}"
}
}
args = ['--ignore-certificate-errors', '--disable-popup-blocking', '--disable-translate', '--disable-infobars']
browser = Watir::Browser.new :chrome, options: {prefs: prefs, args: args }
我不是说这会解决您的问题,但只是想提供有关logger.level的信息。我发现它很有用。