selenium+python實現附件上傳


對於web頁面的上傳功能一般有兩類實現方式:一類是將本地文件的路徑作為一個值放在input標簽中,通過form表單將這個值提交給服務器;另一個類是插件上傳,一般基於flash/javascript或者Ajax等技術實現上傳功能。

一.input標簽

input標簽可以直接通過send_keys()方法上傳附件,具體方法可百度。以下重點說明基於Autolt實現上傳的方法。

二.基於Autolt實現上傳

1.下載並安裝Autolt。官方網站:https://www.autoitscript.com/site/

 

2.安裝成功后打開AutoIt Windows Info工具。鼠標點擊Finder Tool變成扇葉指針,按住鼠標左鍵拖動到待識別的控件(文件名),獲取控件信息。獲得的文件名信息,其中Basic Window info中Title為“打開”,Class是“#32770”;Basic Control info中Class是“Edti”,instance是“1”

 

3.獲取打開按鈕的控件信息,方法同步驟2,記錄獲取到的信息

4.打開SciTE Script Editor編輯器,根據獲取到的控件信息,編寫腳本

WinWait()設置5秒用於等待上傳窗口的顯示
ControlFocus()把輸入焦點定位到上傳文本框中
ControlSetText()輸入文件路徑
sleep 等待上傳時間,單位毫秒
ControllClick()點擊打開按鈕,開始上傳

5.腳本編寫完成后,可通過Tools-->GO運行腳本,運行正常,將其保存為.au3格式

6.打開Compile Script to.ext工具,將步驟5中生成的文件轉換為exe可執行文件。

 生成如下文件

7.通過自動化測試腳本調用up.exe文件

#打開上傳窗口
driver.find_element_by_xpath("//*[@id='filePicker']").click()
#調用up.exe文件
os.system("C:\Users\guorf\Desktop\up.exe")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM