1.上传文件:

(1)input类型可通过send_keys()上传文件

示例
  1. from selenium import webdriver
  2. import time
  3. import os
  4. driver = webdriver.Chrome()
  5. driver.get('https://www.pencilnews.cn/')
  6. time.sleep(20)
  7. upload = driver.find_element_by_id('se_ava_input')
  8. base_dir = os.path.dirname(os.path.abspath(__file__))
  9. print(base_dir)
  10. img_dir = base_dir + "/Picture.jpg"
  11. print(img_dir)
  12. upload.send_keys(img_dir)
  13. print(upload.get_attribute('value')) # check value

(2)非input类型上传文件

示例

2.下载文件:

Chrome浏览器下载文件
  1. from selenium import webdriver
  2. options = webdriver.ChromeOptions()
  3. prefs = {
  4. 'download.default_directory':'/Users/edz/Documents/', # 默认存放路径
  5. 'profile.default_content_settings.popups':'0' # 弹窗设置
  6. }
  7. # 设置下载参数
  8. options.add_experimental_option('prefs', prefs)
  9. driver = webdriver.Chrome(chrome_options = options)
  10. driver.get('https://www.imooc.com/mobile/app')
  11. driver.find_element_by_class_name('android').click()

Firefox浏览器下载文件

  1. profile = webdriver.FirefoxProfile()
  2. # 设置默认下载路径
  3. profile.set_preference('broswer.download.dir',
  4. '/Users/edz/Documents/')
  5. # 使用自定义的下载路径
  6. profile.set_preference('broswer.download.folderList', 2)
  7. # 禁止弹窗
  8. profile.set_preference(
  9. 'broswer.helperApps.neverAsk.saveToDisk',
  10. 'application/zip')
  11. self.driver = webdriver.Firefox(firefox_options=profile)