首页 > 代码库 > 【selenium自动化——上传与下载】

【selenium自动化——上传与下载】

一、【上传文件】

定位上传按钮,通 send_keys 添加本地文件路径就可以了。绝对路径和相对路径都可以,关键是上传的文件存在.

#coding=utf-8
from selenium import webdriver
import os,time
driver = webdriver.Firefox()


#打开上传文件页面
file_path = ‘file:///‘ + os.path.abspath(‘upload_file.html‘)
driver.get(file_path)


#定位上传按钮,添加本地文件
driver.find_element_by_name("file").send_keys(‘D:\\selenium_use_case\upload_file.txt‘)
time.sleep(2)
driver.quit()

注意:send_keys()方法除可以输入内容外,也可以跟一个本地的文件路径。从而达到上传文件的目的

二、【下载文件】

import requests
print requests.head(’http://www.python.org’).headers[’content-type’]

#coding=utf-8
import os
from selenium import webdriver
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir", os.getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk",
"application/octet-stream")
browser = webdriver.Firefox(firefox_profile=fp)
browser.get("http://pypi.python.org/pypi/selenium")
browser.find_element_by_partial_link_text("selenium-2").click()

browser.download.dir 用于指定你所下载文件的目录。
os.getcwd() 该函数不需要传递参数,用于返回当前的目录。
application/octet-stream 为内容的类型

【selenium自动化——上传与下载】