温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-07-02 10:29:54 来源:亿速云 阅读:139 作者:小新 栏目:开发技术

这篇文章主要介绍Python怎么解决火狐浏览器不弹出下载框直接下载的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

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

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

原因:

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

解决办法:

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

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

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

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

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

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

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怎么解决火狐浏览器不弹出下载框直接下载的问题

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

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

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

以上是“Python怎么解决火狐浏览器不弹出下载框直接下载的问题”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI