Python selenium —— 文件下载,不弹出窗口,直接下载到指定路径
今天谈谈文件下载吧,很多人不会处理弹出的文件下载框,其实跟上传类似,可以用autoit和win32api解决,方法类似,可以看博主之前的文章 Python selenium —— 文件上传所有方法整理总结 ,今天这里博主主要想讲讲更漂亮的一种处理办法,那就是指定下载路径,不弹出弹框,直接下载到指定路径。
今天主要分享Firefox和Chrome的设置方法。
Firefox 文件下载
对于Firefox,需要我们设置其Profile:
browser.download.dir
:指定下载路径browser.download.folderList
:设置成2
表示使用自定义下载路径;设置成0
表示下载到桌面;设置成1
表示下载到默认路径browser.download.manager.showWhenStarting
:在开始下载时是否显示下载管理器browser.helperApps.neverAsk.saveToDisk
:对所给出文件类型不再弹出框进行询问
下面来个示例:
# -*- coding: utf-8 -*-from selenium import webdriver
from time import sleepprofile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.dir', 'd:\\')
profile.set_preference('browser.download.folderList', 2)
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/zip')driver = webdriver.Firefox(firefox_profile=profile)driver.get('http://sahitest.com/demo/saveAs.htm')
driver.find_element_by_xpath('//a[text()="testsaveas.zip"]').click()
sleep(3)
driver.quit()
Firefox需要针对每种文件类型进行设置,这里需要我们查询对应文件的MIME类型,可以用以下链接进行查询:MIME 参考手册
Chrome 文件下载
Chrome浏览器类似,设置其options:
download.default_directory
:设置下载路径profile.default_content_settings.popups
:设置为0
禁止弹出窗口
它的设置就简单多了,看个示例:
# -*- coding: utf-8 -*-from selenium import webdriver
from time import sleepoptions = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'd:\\'}
options.add_experimental_option('prefs', prefs)driver = webdriver.Chrome(executable_path='D:\\chromedriver.exe', chrome_options=options)
driver.get('http://sahitest.com/demo/saveAs.htm')
driver.find_element_by_xpath('//a[text()="testsaveas.zip"]').click()
sleep(3)
driver.quit()
看,文件下载也很简单吧。
更多关于python selenium的文章,请关注我的CSDN专栏:Python Selenium自动化测试详解
Python selenium —— 文件下载,不弹出窗口,直接下载到指定路径相关推荐
- [Selenium] 操作新弹出窗口之验证标题和内容
1)验证标题 package com.learningselenium.normalwebdriver; import static org.junit.Assert.*; import java.u ...
- java selenium (十二) 操作弹出窗口
selenium 中如何处理弹出窗口 阅读目录 原理 在代码里, 通过 Set<String> allWindowsId = driver.getWindowHandles ...
- 禁用弹出窗口阻止程序
2019独角兽企业重金招聘Python工程师标准>>> 禁用弹出窗口阻止程序 方法一:通过浏览器设置 方法二:通过写注册表信息设置 具体代码如下: Windows Registry ...
- 问题解决:取消Mac下Karabiner-Elements开机时弹出窗口、用Capslock切换中英文输入法、外接机械键盘 option 和 cmd 互换
一.取消Karabiner-Elements开机时弹出窗口 Karabiner-Elements下载地址:https://karabiner-elements.pqrs.org/ Karabiner是 ...
- Matlab弹出窗口定义
文件打开操作 使用uigetfile函数直接在弹出窗口选择打开 打开指定格式的文件 uigetfile('.m') %选择.m文件 多种后缀文件进行选择性的打开 [filename,pathname] ...
- java关闭安全警告_如何禁用Java“安全警告”弹出窗口?
将文本文档放在名为deployment.properties c:\ windows \ sun \ Java \ deployment \ deployment.properties的位置 尽管Ja ...
- python selenium 处理弹窗_python 让selenium(webdriver ) 不打开浏览器(弹出窗口)运行(静默模式启动)...
什么是 Headless Chrome Headless Chrome 是 Chrome 浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有 Chrome 支持的特性运行你的程序.相比于现代浏览 ...
- python sendkeys用法_使用python中的sendkeys上载文件将打开一个文件选择器弹出窗口...
需要自动化的组件是antd-upload.在https://ant.design/components/upload/ --> Can be found here 上载按钮可见,但输入的&quo ...
- python的窗口处理模块_Python tkinter模块弹出窗口及传值回到主窗口操作详解
本文实例讲述了Python tkinter模块弹出窗口及传值回到主窗口操作.分享给大家供大家参考,具体如下: 有些时候,我们需要使用弹出窗口,对程序的运行参数进行设置.有两种选择 一.标准窗口 如果只 ...
最新文章
- 《从缺陷中学习C/C++》——6.15 试图产生的指针很可能不存在
- python3 推荐使用super调用base类方法
- linux 查询内存和核心数,Linux下查看操作系统信息、内存情况及cpu信息:cpu个数、核心数、线程数...
- Android 性能优化——绘制优化
- SAP MM 采购订单收货被取消了还是不能增加新的delivery cost!
- bootstrap-table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)
- Flex移动皮肤开发(一)
- Web APIs概念详解(附图解)
- Javascript实现图片幻灯片
- 牛逼,我的单片机固件被人破解了
- C#软件注册与注册机
- python爬虫——40行代码爬取「笔趣看」全部小说
- ​​【接口篇 / Wan】(7.0) ❀ 01. 配置 ADSL 拨号上网 ❀ FortiGate 防火墙
- angular整合环信webIM
- HTML5手机页面触屏滑动上下翻页特效
- Python plot() 画图标记 marker
- AutoFac在WinForm中的使用
- 安装SQL Server 2000时出现“以前的某个程序安装已在安装……”
- 机器人运动仿真和3D建模可视化
- 用注册表修改Windows系统的MAC地址
热门文章
- arcgis不闭合线转面_如何将ArcGIS不闭合线转化为面:编辑拓扑
- android手机版tcp或者udp通讯测试工具,可以用于工业设备或者系统开发时间测试tcp或是udp连接通讯是否正常工作
- matlab的交通灯信号识别,交通灯识别系统.docx
- Python_00000
- 搭建大型网站使用的技术架构
- 【设计模式】模板模式实现报表模板
- 最速下降法 c 语言程序,工程優化方法中的“最速下降法”和“DFP擬牛頓法”的 C 語言實現...
- 2021届 大疆一面 嵌入式软件
- 计算机关机速度,高手教你摆平Win7关机速度慢的技巧
- Builder模式到底好在哪里