码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-05-12 15:34:49      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:cut   cte   www   配置文件   同文件   when   star   def   一个   

前言

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

标签:cut   cte   www   配置文件   同文件   when   star   def   一个   

原文地址:https://www.cnblogs.com/jason89/p/9028779.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!