未完結。。。。
1、input 標籤
input 標籤 上傳文件是可以直接 send_keys 的
舉例:在百度搜索上傳本地圖片進行搜索
from selenium import webdriver
driver=webdriver.Firefox()
driver.get("https://www.baidu.com")
driver.find_element_by_css_selector(".soutu-btn").click()
driver.find_element_by_class_name("upload-pic").send_keys(r'F:\Photo\12.jpg')
2、非 input 型上傳
不是 input 框的上傳實現怎麼辦,標籤有用a的,有div的,有button,有object的。唯一的辦法就是打開OS彈框,去處理彈框。
OS彈框涉及的層面已經不是selenium能解決了,所以用OS層面的操作區處理。
有四種處理方法:
1、autoIT:藉助外力,我們去調用其生成的au3或exe文件
2、Python pywin32庫:識別對話框句柄,進而操作
3、SendKeys庫
4、keybd_event:跟3類似,不過是模擬按鍵,ctrl+a,ctrl+c,ctrl+v...