使用Python Selenium下载文件

6rqinv9w  于 2022-11-24  发布在  Python
关注(0)|答案(2)|浏览(192)

我正在尝试使用Python Selenium下载一个文件;尝试找出一种方法来控制黄色的通用下载提示,当你下载一个文件时,它会出现在屏幕的底部。有没有一种方法可以使用Selenium点击“另存为”,然后使用Selenium和相同的驱动程序会话保存文件。

e5njpo68

e5njpo681#

您可以修改您的驱动程序下载设置,例如使用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);
xdyibdwo

xdyibdwo2#

在Chrome,火狐你可以很容易地处理通过手动更改浏览器设置或通过设置首选项,如上面的例子所示。

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

我不是很确定python的代码可以做到这一点。但是,如果你正在使用IE 11,没有办法跳过警告(是的IE是很难处理!!)。在这种情况下,你需要AutoIT工作的控制台点击保存。做pip安装PyAutoIT。下面是帮助你在同一个https://pypi.org/project/PyAutoIt/的链接
AutoIT的缺点:
1.它要求计算机上有可用的控制台。
1.在执行过程中,焦点必须在同一个屏幕上。您可以使用JSCecutor执行带焦点的javascript。
如果还需要什么,请告诉我。

相关问题