selenium 文件下载
2023-09-14 09:14:34 时间
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 sleep
profile = 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 sleep
options = 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()
作者:灰蓝蓝蓝蓝蓝蓝
链接:https://www.jianshu.com/p/b03ef6ffc4a5
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
相关文章
- vue blob流下载zip文件
- iis实现点击文件下载而不是打开文件
- iOS开发之网络编程--4、NSURLSessionDataTask实现文件下载(离线断点续传下载) <进度值显示优化>
- windows主机和ubuntu互传文件的4种方法
- Unity的Asset Store商店下载文件路径
- 怎样通过其他下载工具下载某盘文件
- post文件的html
- Linux中使用SecureCRT上传、下载文件命令sz与rz用法实例
- linux下查找最近修改过的文件.
- 【问题解决方案】Github中的jupyter notebook文件(.ipynb)加载失败/失败
- Linux最大文件打开数使用经验详解
- Vue项目使用file-saver将html转word文件、把html内容下载保存导出到本地生成doc文件包括图片:前端下载利器FileSaver
- vue项目中怎样把参数转成formdata传给后端?怎样使用FormData异步提交数据和提交文件?
- 【华为云技术分享】Spark中的文件源(上)
- SpringBoot读取resource或template中的文件
- SpringBoot整合阿里云OSS文件上传、下载、查看、删除
- javaEE开发之文件下载
- selenium运行js下载文书网的文件
- Http服务器实现文件上传与下载(一)
- MFC文件选择对话框(支持多选)
- Python爬虫:使用requests库下载大文件
- 未能加载文件或程序集“System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”或它的某一个依赖项。系统找不到指定的文件。
- 001-文件下载
- 【搜索引擎Jediael开发笔记2】使用HttpClient下载网页至本地文件
- 使用wget批量下载geo数据集的全部文件 linux下载geo数据 geo处理的数据不是下载原始数据 Linux如何下载ftp文件 geo ftp geo ftp下载 geo下载
- 揭秘基于注册表隐藏的无文件攻击——为了实现攻击持久化,攻击者们找到新的突破口——将恶意软件实体隐藏在注册表的某个键值里
- ubuntu百度网盘下载大文件
- MAC钉钉直接下载的文件在U盘里打不开,下载在本地盘就可以打开