我不想处理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
根据文档,您应该使用browser.helperApps.neverAsk.saveToDisk首选项来实现此目的。值定义为
browser.helperApps.neverAsk.saveToDisk
以逗号分隔的MIME类型列表,可保存到磁盘而无需询问如何使用该文件来打开文件。默认值为空字符串。
我不太擅长Ruby,但可能看起来像
Ruby
profile["browser.helperApps.neverAsk.saveToDisk"] = "text/plain, application/octet-stream"
只需使用正确的MIME类型。