转至博客:上海-悠悠

前言

上一篇是点弹出框上的按钮去保存文件,本篇介绍一种更加优雅的方法,加载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-文件下载(不弹询问框)【转载】的更多相关文章

  1. selenium+python自动化79-文件下载(SendKeys)

    前言 文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作. SendKeys库是专业的处理键盘事件的,所以这里需要用S ...

  2. selenium+python自动化98--文件下载弹窗处理(PyKeyboard)

    前言 在web自动化下载操作时,有时候会弹出下载框,这种下载框不属于web的页面,是没办法去定位的(有些同学一说到点击,脑袋里面就是定位!定位!定位!) 有时候我们并不是非要去定位到这个按钮再去点击, ...

  3. selenium+python自动化80-文件下载(不弹询问框)

    前言 上一篇是点弹出框上的按钮去保存文件,本篇介绍一种更加优雅的方法,加载Firefox和Chrome的配置文件,不弹出询问框后台下载. 一.FirefoxProfile 1.点下载的时候,如下图,如 ...

  4. selenium+python自动化登录脚本

    利用selenium+python写的一个关于登录的自动化脚本

  5. selenium+python自动化之pycharm

    方法: 1.注册机界面,选择License serve.填入http://www.cnblogs.com/testdream/ 2.点击ok 3.注册界面选择:Activation coede 4.打 ...

  6. 【python-excel】Selenium+python自动化之读取Excel数据(xlrd)

    Selenium2+python自动化之读取Excel数据(xlrd) 转载地址:http://www.cnblogs.com/lingzeng86/p/6793398.html ·········· ...

  7. selenium+python自动化95-弹出框死活定位不到

    前言 部分小伙伴学了selenium的alert后,就不管啥弹出框都去用alert,这是行不通的,看到弹出框,先要确定是不是alert,是才能用,不是的话肯定不能用. 有些弹出框是div层,这种跟平常 ...

  8. selenium+python自动化102-登录页面滑动解锁(ActionChains)

    前言 登录页面会遇到滑动解锁,滑动解锁的目的就是为了防止别人用代码登录(也就是为了防止你自动化登录),有些滑动解锁是需要去拼图这种会难一点. 有些直接拖到最最右侧就可以了,本篇讲下使用 seleniu ...

  9. Selenium2+python自动化61-Chrome浏览器(chromedriver)【转载】

    前言 selenium2启动Chrome浏览器是需要安装驱动包的,但是不同的Chrome浏览器版本号,对应的驱动文件版本号又不一样,如果版本号不匹配,是没法启动起来的. 一.Chrome遇到问题 1. ...

随机推荐

  1. 【算法】【网络流24题】巨坑待填(成功TJ,有时间再填)

    ------------------------------------------------------------------------------------ 17/24 --------- ...

  2. java 解析http返回xml数据

    //post 请求 private static String sendPost(String url, String urlParameters) throws Exception { URL ob ...

  3. swift4.0闭包

    http://blog.csdn.net/bddzzw/article/details/78276054

  4. mysql的concat用法

    问题提出:mybatis的mapper文件中的模糊查询: mysql CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一,下面就将为您详细介绍mysql CONCAT( ...

  5. [mysql]修改表段默认值

    alter table xxx alter location drop default; alter table xxx alter location set default "xxx&qu ...

  6. lightoj 1341

    lightoj 1341  Aladdin and the Flying Carpet 链接:http://lightoj.com/volume_showproblem.php?problem=134 ...

  7. 第01篇 说一下Setting,我一直没有讲过

        settings 调整 settings 中的设置是非常关键的,它们会改变 MyBatis 的运行时行为.下表描述了设置中各项的意图.默认值等. 设置参数 描述 有效值 默认值 cacheEn ...

  8. [C#] 类型学习笔记一:CLR中的类型,装箱和拆箱

    在学习.NET的时候,因为一些疑问,让我打算把.NET的类型篇做一个总结.总结以三篇博文的形式呈现. 这篇博文,作为三篇博文的第一篇,主要探讨了.NET Framework中的基本类型,以及这些类型一 ...

  9. poj 2541 Binary Witch

    Binary Witch http://poj.org/problem?id=2541 Time Limit: 1000MS   Memory Limit: 65536K       Descript ...

  10. redis cluster以及master-slave在windows下环境搭建

    一.redis cluster环境搭建: 1.了解Redis Cluster原理: 详细了解可参考:http://doc.redisfans.com/topic/cluster-tutorial.ht ...