【Selenium自动化测试】文件下载

本文介绍了如何使用Python的Selenium库结合Chrome和Firefox浏览器设置自动化下载文件,并控制下载路径。在Chrome中,通过ChromeOptions设置下载目录;在Firefox中,利用FirefoxProfile设置下载路径和文件类型。
摘要由CSDN通过智能技术生成

利用WebDriver可以对网页进行自动化下载,而且在下载时,还允许设置文件下载路径,当然不同浏览器设置方式是不同的。
下面以 Chrome 浏览器为例,演示文件的下载。

import os
from selenium import webdriver
from selenium.webdriver.common.by import By

options = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups':0,
         'download.default_directory':os.getcwd()}
options.add_experimental_option('prefs',prefs)

driver = webdriver.Chrome(chrome_options=options)
driver.get("https://pypi.org/project/selenium/#files")
driver.find_element(By.LINK_TEXT,'selenium-4.8.2.tar.gz').click()
profile.default_content_settings.popups

设置为0,表示禁止弹出窗口。

download.default_directory':os.getcwd()

设置文件下载路径,这里使用os.getcwd()方法获取当前脚本所在路径作为文件下载路径。

此外,火狐浏览器的示例如下:

import os
from selenium import webdriver
from selenium.webdriver.common.by import By
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.dir", os.getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk",
"binary/octet-stream")
driver = webdriver.Firefox(firefox_profile=fp)
driver.get("https://pypi.org/project/selenium/#files")
driver.find_element(By.LINK_TEXT,"selenium-3.141.0.tar.gz").click()
browser.download.folderList

设置为 0,表示文件会下载到浏览器默认的下载路径;设置为2,表示文件会下载到指定目录。

browser.download.dir

用于指定下载文件的目录。通过os.getcwd()方法获取当前文件的所在位置,即下载文件保存的目录。

browser.helperApps.neverAsk.saveToDisk

指定要下载文件的类型,即Content-type 值,“binary/octet-stream”用于表示二进制文件。

以上就是本期文章的所有内容,感谢观看,如果对您有帮助请点赞关注+收藏,一键三连,多谢支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值