zl程序教程

您现在的位置是:首页 >  其他

当前栏目

selenium 文件下载

文件下载 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
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。