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

How to disable download window in firefox with watir-webdriver?

我不想在 Firefox 或 IE 中处理下载 window。我想自动下载 excel 文件而不进行任何下载 window。我曾尝试为 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

当我的脚本对下载按钮执行点击操作时,浏览器仍然显示下载window

目前我在 Windows-7(64bit)

上使用 Firefox 35.0.1

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

A comma-separated list of MIME types to save to disk without asking what to use to open the file. Default value is an empty string.

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

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

只需使用正确的 MIME 类型。


我也找到了 this, this and this 个答案。