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

利用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”用于表示二进制文件。

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

你可能感兴趣的:(Selenium教程,自动化测试,selenium,python,chrome)