繁体   English   中英

使用 Python Selenium 下载文件

[英]File Download using Python Selenium

我正在尝试使用 Python Selenium 下载文件; 试图找出一种方法来控制下载文件时显示在屏幕底部的黄色通用下载提示。 有没有办法使用 Selenium 点击“另存为”并使用 Selenium 和相同的驱动程序 session 保存文件。

您可以修改驱动程序下载设置,例如使用 firefox。 当请求下载文件时,它不会创建弹出窗口 window,并将保存在您在下面指定的位置。

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);

在 Chrome 中,firefox 您可以通过手动更改浏览器设置或如上例所示设置首选项来轻松处理。

fxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv");

我不太确定 python 代码可以做到这一点。 但是,如果您使用的是 IE 11,则无法跳过警告(是的,IE 很难处理..)。 在这种情况下,您需要 AutoIT 在控制台上工作以单击保存。 做 pip 安装 PyAutoIt。 以下是在同一https 上为您提供帮助的链接://pypi.org/project/PyAutoIt/

AutoIT的缺点:-

  1. 它需要控制台在机器上可用。
  2. 在执行期间,焦点必须在同一屏幕上。 您可以使用 JSExecutor 来执行 javascript 焦点。

让我知道这是否需要其他任何东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM