Selenium 实现下载文件 Firefox,Chrome

下载文件
WebDriver 允许我们设置默认的文件下载路径,也就是说文件会自动下载到我们设置的目录中,不同的浏览器设置方法不同

下面先以Firefox为例子,演示下载

 
 
import time
from selenium imoprt webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.dir', 'E:\\123\\qaz\\')
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://haozip.2345.cc/')
driver.find_element_by_class_name('btn_dl').click()
sleep(3)
driver.quit()

 

指定下载路径,后面跟路径
 
browser.download.dir 
 
2表示使用我们自定义的路径,1表示默认下载到桌面,2表示下载到默认路径
browser.download.folderList
 
表示在下载的售后显示下载管理器
browser.download.manager.showWhenStarting
 
对所给出文件类型不再弹出框进行询问
browser.helperApps.neverAsk.saveToDisk
 

下面我们再次使用Chrome浏览器的使用

 
from selenium import webdriver
from time import sleep




chrome_options = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'd:\\'}
#chrome_options.add_experimental_option('prefs', prefs) #添加实验性质的设置参数
driver = webdriver.Chrome(options=chrome_options)
driver.get('http://haozip.2345.cc/')
driver.find_element_by_class_name('btn_dl').click()
sleep(3)

 

Chrome下载默认不会弹出提示框,这里只要修改他的下载位置就可以了, 设置为  0 禁止弹出窗口
 
profile.default_content_settings.popups
 
设置下载路径
download.default_directory
 
 
执行时可能会提示use options instead of chrome_options  代表方法已经过时了, 这时我们把chrome_options  替换成options=chrome_options 就额可以了

你可能感兴趣的:(测试)