selenium+python自动化80-文件下载(不弹询问框)
前言
上一篇是点弹出框上的按钮去保存文件,本篇介绍一种更加优雅的方法,加载Firefox和Chrome的配置文件,不弹出询问框后台下载。
一、FirefoxProfile
1.点下载的时候,如下图,如果不想让它弹出这个询问框,可以加载firefox的配置文件隐藏起来

2.设置各项参数,参数可以通过在浏览器地址栏中输入about:config查看

3.FirefoxProfile的配置说明
-'browser.download.folderList':设置成0表示下载到桌面;设置成1表示下载到默认路径;设置成2则可以保存到指定目录;
- 'browser.download.dir' :“设置一个本地电脑路径:‘d:\\’ ”
- "browser.download.manager.showWhenStarting", False 是否显示下载进度框,下图所示(这个设置没生效)
- "browser.helperApps.neverAsk.saveToDisk", "application/octet-stream" 对所给出文件类型不再弹出框进行询问

二、文件类型
1.第四个参数文件类型这里一定要注意了,下载的不同文件类型,参数是不一样的,可以查阅:MIME 参考手册 http://www.w3school.com.cn/media/media_mimeref.asp

三、Firefox配置
# coding:utf-8
from selenium import webdriver
# 设置各项参数,参数可以通过在浏览器地址栏中输入about:config查看。
profile = webdriver.FirefoxProfile()
# 设置成0表示下载到桌面;设置成1表示下载到默认路径;设置成2则可以保存到指定目录;
profile.set_preference('browser.download.folderList', 2)
# 指定下载文件到你想放的路径
profile.set_preference('browser.download.dir', 'd:\\')
# 开始下载时候显示是否显示进度框 (这个设置目前没生效)
profile.set_preference("browser.download.manager.showWhenStarting", False)
# 对所给出文件类型不再弹出框进行询问
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream")
driver = webdriver.Firefox(firefox_profile=profile)
# 打开有道云笔记
driver.get("http://note.youdao.com/")
# 点立即下载按钮
driver.find_element_by_id("download-btn").click()
四、Chrome配置
# coding:utf-8
from selenium import webdriver
profile = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0, # 设置为 0 禁止弹出窗口
'download.default_directory': 'd:\\'} # 指定下载路径
profile.add_experimental_option('prefs', prefs)
# executable_path这个是chromedriver的路径 如果设置过环境变量,此参数可以省略
chromedriver_path = "D:\\path\\chromedriver.exe" # 自己本地电脑路径
driver = webdriver.Chrome(executable_path=chromedriver_path, chrome_options=profile)
# 打开有道云笔记
driver.get("http://note.youdao.com/")
# 点立即下载按钮
driver.find_element_by_id("download-btn").click()
selenium+python自动化80-文件下载(不弹询问框)的更多相关文章
- selenium+python自动化79-文件下载(SendKeys)
前言 文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作. SendKeys库是专业的处理键盘事件的,所以这里需要用S ...
- selenium+python自动化98--文件下载弹窗处理(PyKeyboard)
前言 在web自动化下载操作时,有时候会弹出下载框,这种下载框不属于web的页面,是没办法去定位的(有些同学一说到点击,脑袋里面就是定位!定位!定位!) 有时候我们并不是非要去定位到这个按钮再去点击, ...
- selenium+python自动化80-文件下载(不弹询问框)【转载】
转至博客:上海-悠悠 前言 上一篇是点弹出框上的按钮去保存文件,本篇介绍一种更加优雅的方法,加载Firefox和Chrome的配置文件,不弹出询问框后台下载. 一.FirefoxProfile 1.点 ...
- selenium+python自动化登录脚本
利用selenium+python写的一个关于登录的自动化脚本
- selenium+python自动化之pycharm
方法: 1.注册机界面,选择License serve.填入http://www.cnblogs.com/testdream/ 2.点击ok 3.注册界面选择:Activation coede 4.打 ...
- 【python-excel】Selenium+python自动化之读取Excel数据(xlrd)
Selenium2+python自动化之读取Excel数据(xlrd) 转载地址:http://www.cnblogs.com/lingzeng86/p/6793398.html ·········· ...
- selenium+python自动化95-弹出框死活定位不到
前言 部分小伙伴学了selenium的alert后,就不管啥弹出框都去用alert,这是行不通的,看到弹出框,先要确定是不是alert,是才能用,不是的话肯定不能用. 有些弹出框是div层,这种跟平常 ...
- selenium+python自动化102-登录页面滑动解锁(ActionChains)
前言 登录页面会遇到滑动解锁,滑动解锁的目的就是为了防止别人用代码登录(也就是为了防止你自动化登录),有些滑动解锁是需要去拼图这种会难一点. 有些直接拖到最最右侧就可以了,本篇讲下使用 seleniu ...
- selenium python (十二)下拉框的处理
#!/usr/bin/python# -*- coding: utf-8 -*-__author__ = 'zuoanvip' #下拉框在web页面上非常常见,对于下拉框的处理采用二次定位的方法进行元 ...
随机推荐
- dede 相关推荐调用
{dede:likeart row=5 titlelen=40} <div class="xl12 xs6 xm4 xb3 proitem"> <a href=& ...
- 转换类型 totypeString
type.totypeString(variable) 其中front type is want to turn after type是你要转换成的类型 //: dsfsf/Literals. ...
- unittest常用的断言方法
unittest常用的断言方法 #msg:判断不成立时需要反馈的字符串 assertEqual(self, first, second, msg=None) --判断两个参数相等:first == s ...
- yield()方法就是礼让,具体还是看cpu怎么分配
package charpter07; //yield():礼让的行为public class Processor implements Runnable { @Override public voi ...
- Extjs MVC模式开发,循序渐进(一)
本文讲述extjs mvc的Helloworld,tabPanel,event,页面布局layout等内容. 本页包含:MVC模式案例(一)~MVC模式案例(六),从搭建extjs mvc到点击按钮生 ...
- Spring整合Quartz实现动态定时器,相关api,定时器添加,删除,修改
一.版本说明 spring3.1以下的版本必须使用quartz1.x系列,3.1以上的版本才支持quartz 2.x,不然会出错. 原因:spring对于quartz的支持实现,org.springf ...
- LICEcap方便快捷制作gif图片的工具
总是看见别人的博客里面动态的小图片,是不是有种冲动自己也想搞,但是就是不知道咋搞,这里简单介绍一款很实用的制作gif的软件. LICEcap的网址:http://www.cockos.com/lice ...
- python多进程和多线程
多任务才有多进程和线程: 线程是最小的执行单元,而进程由至少一个线程组成.如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间. 多进程和多线程的程序涉及到同步.数据共享 ...
- 【Java】 剑指offer(5) 从尾到头打印链表
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 输入一个链表的头结点,从尾到头反过来打印出每个结点的值.结点定义如下: ...
- Java Swing提供的文件选择对话框 - JFileChooser
JFileChooser() 构造一个指向用户默认目录的 JFileChooser. JFileChooser(File currentDirectory) 使 ...