Selenium2+python自動化-文件上傳
阿新 • • 發佈:2019-03-01
python 通過 並且 fire jpg 輸入 port NPU click
前言
文件上傳是web頁面上很常見的一個功能,自動化成功中操作起來卻不是那麽簡單。
一般分兩個場景:一種是input標簽,這種可以用selenium提供的send_keys()方法輕松解決;另外一種非input標簽實現起來比較困難,可以借助autoit工具或者SendKeys第三方庫。
本篇以百度的上傳圖片為案例,通過send_keys()方法解決文件上傳問題。
一、識別上傳按鈕
1.點開百度的圖片上傳按鈕,顯示”本地上傳圖片”。
2.用firebug查看按鈕屬性,這種上傳圖片按鈕有個很明顯的標識,它是一個input標簽,並且type屬性的值為file。
3.只要找到這兩個標識,我們就可以直接用send_keys()方法上傳文件了。
二、定位元素
1.用firebug查看按鈕屬性,發現有class屬性;
2.確定class唯一,所以直接用class語法定位;
from selenium import webdriver driver = webdriver.Firefox() # 啟動瀏覽器 driver.get("https://www.baidu.com/") # 請求地址 driver.find_element_by_class_name("soutu-btn").click() # 點擊照相機按鈕‘‘‘ 先定位上傳圖片按鈕,直接send_keys輸入地址 ‘‘‘ driver.find_element_by_class_name("upload-pic").send_keys("D:\xx.jpg")
註釋:
非input標簽的文件上傳,就不適用於此方法了,需要借助autoit工具或者SendKeys第三方庫。
Selenium2+python自動化-文件上傳