(二十六)WebDriver API之下载文件

随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  学习selenium自动化之前,最好先学习HTML、CSS、JavaScript等知识,有助于理解定位及操作元素的原理。关于python和selenium安装请自行搜索别的资料,

这里就不多做介绍了,所有例子均使用python3.6+selenium执行的。

#------------------------------------------------我是可耻的分割线-------------------------------------------

 

下载文件

  WebDriver允许我们设置默认的文件下载路径,也就是说,文件会自动下载并且存放到设置的目录中。下面以火狐浏览器为例,执行文件下载。

 

复制代码
from selenium import webdriver
import os
fp = webdriver.FirefoxProfile()

fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir",os.getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/octet-stream")#下载文件的类型

driver = webdriver.Firefox(firefox_profile=fp)
driver.get('http://pypi.Python.org/pypi/selenium')
driver.find_element_by_partial_link_text('selenium-2').click()
复制代码

 

  为了让Firefox浏览器实现文件下载,我们需要通过FirefoxProfile()对其做一些设置。

  browser.download.folderList默认成0代表下载到浏览器默认下载路径,设置成2则可以保存到指定目录。

  browser.download.manager.showWhenStarting是否显示开始:True为显示,Flase为不显示。

  browser.download.dir用于指定所下载文件的目录。Os.getcwd()函数不需要传递参数,用于返回当前的目录。

  browser.helperApps.neverAsk.saveToDisk指定要下载页面的content-type值,”application.octet-stream”为文件类型。

  HTTPContent-type常用对照表:http://tool.oschina.net/commons

  这些参数的设置可以通过在Firefox浏览器地址栏输入:about:config进行设置。

  上面的例子中的设置只针对Firefox浏览器,不同的浏览器设置方法会有所不同。通用的方法还是借助AutoIt来操作Windows控件进行下载。AutoIt的使用在上传文件文章中详细的介绍过,这里就不再重复介绍。

 

posted @   李荣洋  阅读(691)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示