Selenium+Firefox的自动下载(去掉下载弹窗)

Selenium+Firefox的自动下载(去掉下载弹窗)

一、去掉下载弹窗的优点

检索键盘鼠标自动化控制模块的导入
可以无头化运行,不影响同时进行的其他的任务

二、去掉下载弹窗的一般命令

from selenium.webdriver import FirefoxProfile
#导入相应的设置模块
profile = webdriver.FirefoxProfile()
#实例化
profile.set_preference('browser.download.dir', path.strip('\u202a'))
#设置下载路径
profile.set_preference('browser.download.folderList', 2)
#设置下载存储方式,2为自定义路径、设置成 0 表示下载到桌面;设置成 1 表示下载到默认路径
profile.set_preference('browser.download.manager.showWhenStarting', False)
#在开始下载时是否显示下载管理器
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/zip,application/octet-stream')
#对所给出文件类型不再弹出框进行询问

此处命令参见Time-Traveler:《Selenium下载路径》,链接: Selenium下载路径.

三、重点

上面命令说明比较简单,本人按照上述命令设置,在给定的例子中有效,但是我进行的是裁判文书的下载,结果始终无法自动下载,相关内容参见《中国裁判文书下载:selenium路线》,链接: 中国裁判文书下载:selenium路线.

兜兜转转找了好久这个问题一直没有解决,虽然也能用,但是始终不圆满

今天我用重新学习了一下,仔细看看了相关命令,某篇博文上看到关于firefox的新窗口变成新标签页的设置中,发现相关命令在
在这里插入图片描述

相应的设置也只是在对参数进行设置,继续深入发现其实这些一般命令涉及到了firefox的设定,继续找到义甬君:《Selenium自动化下载文件Firefox配置教程>》,链接: link.

 profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/zip')

这个命令十分重要,但是应该没有问题啊!因为下载的就是压缩包,应该就是application/zip
在这里插入图片描述

显示的也是zip的格式

但是后来去network中调试发现并非如此,下载弹窗的链接为:
在这里插入图片描述
进去发现其content-Type并不是application/zip,而是,application/octet-stream,至此真相大白,解决了不能自动下载的问题
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值