#coding=utf-8
from selenium import webdriver

#实例化一个火狐配置文件
fp = webdriver.FirefoxProfile()

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

#设置成0代表下载到浏览器默认下载路径;设置成2则可以保存到指定目录
fp.set_preference("browser.download.folderList",2)

#是否显示开始,(个人实验,不管设成True还是False,都不显示开始,直接下载)
fp.set_preference("browser.download.manager.showWhenStarting",False)

#下载到指定目录
fp.set_preference("browser.download.dir","c:\\test")

#不询问下载路径;后面的参数为要下载页面的Content-type的值
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/octet-stream")

#启动一个火狐浏览器进程,以刚才的浏览器参数
dr = webdriver.Firefox(firefox_profile=fp)

#打开下载页面
dr.get("https://pypi.python.org/pypi/selenium")

#点击某个按钮
dr.find_element_by_xpath("//div[@id='download-button']/a").click()

#如果是某个直接下载链接,则缺少了点击某个链接或者按钮的操作,打开页面后执行下载动作

#备注:查看Content-type的方法,curl
#curl是采用url命令,在命令行下工作的文件传输开源工具
#首先,安装,到官网下载对应的版本,解压出来后是一个curl.exe文件。打开cmd,进入该目录下,则可以使用curl命令了。
#也可以将curl.exe的上层目录添加到path目录下去,则在任何地方都可以使用curl命令。
#如查看百度的Content-type ,进入cmd页面:C:\Users\Administrator>curl -I   http://www.baidu.com
HTTP/1.1 200 OK
Date: Tue, 15 Apr 2014 10:08:24 GMT
Content-Type: text/html
Connection: Keep-Alive
Vary: Accept-Encoding
Set-Cookie: BAIDUID=5A06884F893AB430B9A251E59C27C50F:FG=1;
7 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.c
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: H_PS_PSSID=5552_4578_5231_1455_6052_5223_4760_6
; domain=.baidu.com

转 selenium 自动下载文件的更多相关文章

  1. selenium 自动下载文件

    #coding=utf-8 from selenium import webdriver #实例化一个火狐配置文件 fp = webdriver.FirefoxProfile() #设置各项参数,参数 ...

  2. 《手把手教你》系列技巧篇(五十六)-java+ selenium自动化测试-下载文件-上篇(详细教程)

    1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件.因此宏哥就接着讲解和分享一下:自动化测试下载文件.可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就 ...

  3. 《手把手教你》系列技巧篇(五十七)-java+ selenium自动化测试-下载文件-下篇(详细教程)

    1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件.因此宏哥就接着讲解和分享一下:自动化测试下载文件.可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就 ...

  4. selenium实现自动下载文件

    #coding:utf-8'''说明:导出'''from selenium import webdriverfrom public.highlightElement import highlightf ...

  5. Selenium 实现自动下载文件(FirefoxOptions,FirefoxProfile) - 根据Selenium Webdriver3实战宝典

    Firefox 版本是72geckodriver 是 0.24selenium 是3.14 代码中注释有关于FirefoxOptions,FirefoxProfile的解释,请各位寻找一下,不做另外解 ...

  6. Python+Selenium学习--下载文件

    场景 webdriver 允许我们设置默认的文件下载路径.也就是说文件会自动下载并且存在设置的那个目录中,下面以firefox及chrome为例 代码 Firefox下载 为了让Firefox浏览器能 ...

  7. Python+selenium之下载文件

    一.Firefox文件下载 Web容许我们设置默认的文件下载路劲,文件会自动下载并且存放在指定的目录下. from selenium import webdriver import os fp = w ...

  8. 转:Windows下用sftp自动下载文件

    远程服务器是Linux操作系统,没有ftp服务,可以ssh,数据库每天2:00会自动创建一个备份文件,本地计算机是windows操作系统,希望用sftp每天3:00下载远程服务器上的备份文件.本地系统 ...

  9. 调用百度云Api实现从百度云盘自动下载文件

    一.注册账号 要从百度云下载文件,首先,注册一个百度云账号,现在可能都要注册手机号啦,当然,如果你已经注册过,很幸运,就可以省略掉此步骤啦. 如图登录后所示: 点击Access Key,即显示上面的图 ...

随机推荐

  1. design-twitter

    https://leetcode.com/problems/design-twitter/ class Twitter { unordered_map<int, set<int> & ...

  2. 上下变换中 aspect的选择

    在电视制作还没有完全整转到高清之前,有很多原来的SD素材需要转到HD信号进入高清切换或者编辑平台,电视台是电视节目的发射源端 ,所以上变换过程不能引入额外的噪声或者失真: 上变换使用的方式一般有4种: ...

  3. SQL语句大小写是否区分的问题,批量修改整个数据库所有表所有字段大小写

    一.实例介绍 SQL语句大小写到底是否区分呢?我们先从下面的这个例子来看一下: 例: --> 创建表,插入数据: declare @maco table (number int,myvalue ...

  4. Android -- onWindowFocusChanged

    Android中获取手机屏幕的高度和宽度,我们知道在onCreate方法中获取到的值都是为0的,有人说可以在onClick方法中获取值,这个也是个方法 ,但在onWindowFocusChanged方 ...

  5. Android网络缓存的实现思路

    在开发群里有多位同学问到了关于Android中网络缓存的问题.事实上不管是Android还是iOS,缓存的大致思路都是同样的,以下就几种情况下的缓存做一个大致的介绍.顺便说一下有些开源的网络请求框架已 ...

  6. Node.js中的HTTPS示例

      需要openssl的支持, openssl本身不提供windows的安装程序,可以按照如下的步骤进行安装: (参考https://conetrix.com/Blog/how-to-install- ...

  7. IDEA报错Target level '1.6' is incompatible with source level '1.7'

    解决IDEA 编译级别 Error:java: Target level '1.6' is incompatible with source level '1.7'. A target level ' ...

  8. mybatis的mapper返回map结果集(springboot)

    通过MapKey指定map的key值 @MapKey("id") Map<Long, UserInfo> getUserInfoMap(); @MapKey(" ...

  9. Run Repository Creation Utility (RCU) for Oracle Identity Management components

    Run Repository Creation Utility (RCU) for Oracle Identity Management components         Installing O ...

  10. java科学计数法转换成普通计数法

    java科学计数法转换成普通计数法: String sjiachun = "12345E-10"; BigDecimal db = new BigDecimal(sjiachun) ...