Python 解决火狐浏览器不弹出下载框直接下载的问题

时间:2021-05-22

用火狐浏览器下载文件,总是遇到这个弹窗问题,如下图:

原因:

使用火狐浏览器,点击下载,弹出下载弹框,使用AutoITLibrary库,能够判断是否弹出了下载弹框,但因为不能定位到下载弹框,导致没有下载,所以需要在下载过程中,不弹出下载框,直接下载,然后再判断文件是否下载成功。

解决办法:

1、自己启动Firefox浏览器,操作一次下载的过程。然后查看浏览器的“更多”-》“选项”-》“应用程序”-》查看刚新增的文件类型,并修改为“保存文件“。

我的是 以“.GZ”结尾的,改为“保存文件“。

2、查看下载文件的Content_Type类型,我下载的文件是binary/octet-stream

3、新建python文件,输入以下代码。

fp = webdriver.FirefoxProfile()#定义浏览器设置的属性fp.set_preference('browser.download.dir','C:\\Users\\Downloads') #保存到指定目录fp.set_preference("browser.download.folderList",2) #设置成0代表下载到浏览器默认下载路径;设置成2则可以保存到上面设置的指定目录下fp.set_preference("browser.download.manager.showWhenStarting",False)#不管是True还是False,都不显示开始,直接开始下载fp.set_preference("browser.helperApps.neverAsk.saveToDisk","binary/octet-stream")#不询问下载路径,讲文件直接下载。一定要设置正确的文件的Content_Type。driver = webdriver.Firefox(firefox_profile=fp)#给driver的赋予设置的属性

测试使用的环境是:win 7 64位 +python 3.5 +Firefox 60.0 +selenium 3.8.0

以上这篇Python 解决火狐浏览器不弹出下载框直接下载的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章