如何在Selenium中打开新窗口后自动保存文件

时间:2015-09-09 17:38:44

标签: python firefox selenium selenium-webdriver

我目前正在网站上生成报告,当我点击导出链接时,它会打开一个新窗口。新窗口打开另一个窗口,询问我是否要使用excel或保存文件打开。

我希望它将文件自动保存到我指定的位置。

我能够为其他没有打开新窗口的网站做到这一点。

单击导出到csv后,单击"下载的窗口正在运行.."弹出。然后弹出保存或打开窗口。

这是我目前为webdrive设置的个人资料设置:

profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2)
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.download.dir', os.getcwd())
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/csv/xls')

由于

1 个答案:

答案 0 :(得分:2)

问题是,我非常肯定browser.helperApps.neverAsk.saveToDisk设置。

尝试以下方法:

profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/plain,text/csv,application/csv,application/vnd.ms-excel,text/comma-separat‌​ed-values,application/excel,application/octet-stream')

而且,这是我们在聊天中实际调试和发现的内容:

profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/download')

另外,这里有一个很好的读取如何让firefox检测mime类型并使用它: