【问题标题】:File Download using Python Selenium使用 Python Selenium 下载文件
【发布时间】:2020-08-03 03:12:56
【问题描述】:
我正在尝试使用 Python Selenium 下载文件;试图找出一种方法来控制下载文件时显示在屏幕底部的黄色通用下载提示。有没有办法使用 Selenium 点击“另存为”并使用 Selenium 和相同的驱动程序会话保存文件。
【问题讨论】:
标签:
python
selenium
downloadfile
【解决方案1】:
您可以修改驱动程序下载设置,例如使用 Firefox。当请求下载文件时,它不会创建弹出窗口,而是会保存在您在下面指定的位置。
FirefoxProfile fxProfile = new FirefoxProfile();
fxProfile.setPreference("browser.download.folderList",2);
fxProfile.setPreference("browser.download.manager.showWhenStarting",false);
fxProfile.setPreference("browser.download.dir","c:\\mydownloads");
fxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv");
WebDriver driver = new FirefoxDriver(fxProfile);
【解决方案2】:
在 Chrome 中,您可以通过手动更改浏览器设置或如上例所示设置首选项来轻松处理 firefox。
fxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv");
我不太确定用 python 代码来做这件事。
但是,如果您使用的是 IE 11,则无法跳过警告(是的,IE 很难处理!!)。在这种情况下,您需要 AutoIT 在控制台上工作以单击保存。
点安装 PyAutoIt。以下是在同一 https://pypi.org/project/PyAutoIt/ 上为您提供帮助的链接
AutoIT 的缺点:-
- 它需要在计算机上提供控制台。
- 在执行期间,焦点必须在同一屏幕上。你可以使用 JSExecutor
以焦点执行 javascript。
如果还有什么需要请告诉我。