基於input標簽的,有屬性type = file:
首先定位到點擊上傳的元素(input)然后直接使用send_keys()將文件在本地的路徑傳進去
代碼如下(例子來源於本頁面上傳圖片和文件):
from selenium import webdriver from time import sleep url = 'https://i.cnblogs.com/' dr = webdriver.Chrome() dr.get(url) dr.implicitly_wait(10) dr.find_element_by_id('input1').send_keys('xxxxx') dr.find_element_by_id('input2').send_keys(xxxxxx') dr.find_element_by_id('signin').click() #按鈕類型為input上傳圖片 # dr.find_element_by_css_selector('[href="/EditPosts.aspx?opt=1"]').click() # dr.find_element_by_css_selector('[class="mceIcon"][alt="上傳圖片"]').click() # dr.switch_to.frame('mce_39_ifr') # dr.find_element_by_css_selector("input[type='file']").send_keys(u'E:\微信圖片_20170710155107.png') #上傳文件 dr.find_element_by_id('TabFiles').click() dr.find_element_by_id('AddFiles_myFile').send_keys('E:\Config.xls') sleep(10) dr.quit()