Selenium文件上传下载

文件上传

对于input上传,直接send_keys即可

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get(‘http://sahitest.com/demo/php/fileUpload.htm‘)
#上传文件
upload = driver.find_elements_by_id(‘file‘)[0]
upload.send_keys("D:\\test.txt")
driver.find_elements_by_name(‘submit‘)[0].click()
time.sleep(2)

driver.quit()

文件下载

#Chrome下载

from selenium import webdriver
from time import sleep

options = webdriver.ChromeOptions()
prefs = {
    profile.default_content_settings.popups: 0, #设置为 0 禁止弹出窗口
    download.default_directory: d:\\ #设置下载路径
    }
options.add_experimental_option(prefs, prefs)

driver = webdriver.Chrome(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()
#Firefox下载

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) #设置浏览器下载路径,0表示默认,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()

 

Selenium文件上传下载

上一篇:PHP常用函数


下一篇:MySQL教程105-MySQL修改存储过程