我正在尝试使用Python Selenium下载一个文件;尝试找出一种方法来控制黄色的通用下载提示,当你下载一个文件时,它会出现在屏幕的底部。有没有一种方法可以使用Selenium点击“另存为”,然后使用Selenium和相同的驱动程序会话保存文件。
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);
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。如果还需要什么,请告诉我。
2条答案
按热度按时间e5njpo681#
您可以修改您的驱动程序下载设置,例如使用firefox。当一个文件被请求下载时,它不会创建一个弹出窗口,并且会保存在您指定的位置。
xdyibdwo2#
在Chrome,火狐你可以很容易地处理通过手动更改浏览器设置或通过设置首选项,如上面的例子所示。
我不是很确定python的代码可以做到这一点。但是,如果你正在使用IE 11,没有办法跳过警告(是的IE是很难处理!!)。在这种情况下,你需要AutoIT工作的控制台点击保存。做pip安装PyAutoIT。下面是帮助你在同一个https://pypi.org/project/PyAutoIt/的链接
AutoIT的缺点:
1.它要求计算机上有可用的控制台。
1.在执行过程中,焦点必须在同一个屏幕上。您可以使用JSCecutor执行带焦点的javascript。
如果还需要什么,请告诉我。