一尘不染

如何使用watir-webdriver禁用Firefox中的下载窗口?

selenium

我不想处理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


阅读 275

收藏
2020-06-26

共1个答案

一尘不染

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

以逗号分隔的MIME类型列表,可保存到磁盘而无需询问如何使用该文件来打开文件。默认值为空字符串。

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

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

只需使用正确的MIME类型。

2020-06-26