selenium下载文件

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time   #time。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')

browser = webdriver.Firefox(firefox_profile=profile)
 
browser.get('http://www.xxxxxxx.com')  #这里地址用的是查询页面,如果没有登录就会跳转到登录页面,登录之后会自动跳到查询页面
#assert 'Yahoo!' in browser  这行不要了
 
username=browser.find_element_by_name('uid')#获取username输入框
username.clear()  #先清空输入框
username.send_keys(username)  #输入用户名
     
password=browser.find_element_by_name('password')#获取username输入框
password.clear()  #先清空输入框
password.send_keys(password)  #输入密码
password.send_keys(Keys.RETURN)  #输入密码之后输入RETURN特殊键实现登录,不用再定位登录按钮
browser.implicitly_wait(5)  #延时3秒等待页面跳转
browser.find_element_by_name('项目').send_keys(ID)  #定位到项目ID输入框并输入项目ID
browser.find_element_by_id('search').click()  #定位到搜索按钮,并点击
browser.implicitly_wait(5)  #延时等待搜索结果
browser.find_element_by_xpath('\\').click() #定位到导出按钮,并点击
leep(3  #延时 弹出导出提示框,提示用户到另外一个页面下载导出数据
browser.find_element_by_xpath('\\').click()#定位到弹出框上的确定按钮,点击确定隐藏提示框,以方便导出下一个项目的bug列表
browser.get('http://www.yyyyyy.com')  #跳转到下载页面
filelist=browser.find_elements_by_xpath('\\')  #定位到文件列表中所有的文件
for file in filelist:
     file.click() #点击保存文件 

 

 

 

Chrome文件下载

download.default_directory:设置下载路径

profile.default_content_settings.popups:设置为0禁止弹出窗口

复制代码
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()

 

posted @ 2018-10-02 16:06  nick560  阅读(842)  评论(0编辑  收藏  举报