如何使用watir-webdriver在firefox中禁用下载窗口?

时间:2015-05-15 15:05:32

标签: firefox selenium watir watir-webdriver

我不想在Firefox或IE中处理下载窗口。我想在没有任何下载窗口的情况下自动下载excel文件。我试图为Firefox设置几个配置参数,但它不起作用。 在我的测试中,我正在尝试下载excel文件

profile = Selenium::WebDriver::Firefox::Profile.new
profile['browser.download.lastDir'] = 'C:\\Downloads'
profile['browser.download.folderList'] = 2
profile['browser.download.dir'] = 'C:\\Downloads'
profile['download.prompt_for_download'] = false
profile['browser.download.manager.showWhenStarting'] = false
profile['browser.download.manager.addToRecentDocs'] = true

profile['browser.download.manager.useWindow'] = false
profile['browser.download.useDownloadDir'] = true
profile['browser.download.show_plugins_in_list'] = true
profile['browser.download.manager.openDelay'] = 100000
profile['browser.download.animateNotifications'] = false

driver = Watir::Browser.new :firefox, :profile => profile

当我的脚本在下载按钮上执行点击操作时,浏览器仍显示下载窗口

目前我在Windows-7(64位)上使用Firefox 35.0.1

1 个答案:

答案 0 :(得分:2)

根据documentation,您应该使用browser.helperApps.neverAsk.saveToDisk首选项来实现此目的。值定义为

  

以逗号分隔的MIME类型列表,可在不询问的情况下保存到磁盘   用什么来打开文件。默认值为空字符串。

我不是很擅长Ruby,但它可能看起来像

profile["browser.helperApps.neverAsk.saveToDisk"] = "text/plain, application/octet-stream"

只需使用正确的MIME类型。

我还发现thisthisthis回答。