1.上传文件:
(1)input类型可通过send_keys()上传文件
示例
from selenium import webdriver
import time
import os
driver = webdriver.Chrome()
driver.get('https://www.pencilnews.cn/')
time.sleep(20)
upload = driver.find_element_by_id('se_ava_input')
base_dir = os.path.dirname(os.path.abspath(__file__))
print(base_dir)
img_dir = base_dir + "/Picture.jpg"
print(img_dir)
upload.send_keys(img_dir)
print(upload.get_attribute('value')) # check value
(2)非input类型上传文件
示例
2.下载文件:
Chrome浏览器下载文件
from selenium import webdriver
options = webdriver.ChromeOptions()
prefs = {
'download.default_directory':'/Users/edz/Documents/', # 默认存放路径
'profile.default_content_settings.popups':'0' # 弹窗设置
}
# 设置下载参数
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options = options)
driver.get('https://www.imooc.com/mobile/app')
driver.find_element_by_class_name('android').click()
Firefox浏览器下载文件
profile = webdriver.FirefoxProfile()
# 设置默认下载路径
profile.set_preference('broswer.download.dir',
'/Users/edz/Documents/')
# 使用自定义的下载路径
profile.set_preference('broswer.download.folderList', 2)
# 禁止弹窗
profile.set_preference(
'broswer.helperApps.neverAsk.saveToDisk',
'application/zip')
self.driver = webdriver.Firefox(firefox_options=profile)