selenium——上傳文件

一、上傳文件框是input形式

首先定位上傳按鈕

發(fā)送要上傳的文件

driver.findElement(By.id("XX")).sendKeys("D:\\20.jpg");

二、上傳文件框不是input形式

當(dāng)上傳文件框不是input時,需要借助AutoIT這個工具

下載地址:https://www.autoitscript.com/site/autoit/downloads/

注意一下,安裝過程中32位還是64位,安裝后,在開始菜單中會顯示這些:

常用的三個組件:

AutoIT Window Info(x64) :用來定位

SciTE Script Editor :用來寫腳本

Compile Script to .exe(x64):用來轉(zhuǎn)換成exe

下面開始定位上傳框:

1、將Finder Tool拖拽到文件名處,如圖:

2、記錄一下如下內(nèi)容:

Title=打開,ClassnameNN=Edit1,Class=#32770

注:每個瀏覽器打開的上傳框的title不一樣,需注意。

3. 再次定位打開按鈕:

4、記錄如下內(nèi)容:

ClassnameNN=Button1

5、打開SciTE Script Editor 開始寫腳本:

;ControlFocus("title" ,"text",controlID)定位到打開窗口

ControlFocus("打開","","Edit1")

;等待元素出現(xiàn),時間為20s

WinWait("[CLASS:#32770]","",20)

;設(shè)置上傳的文件

ControlSetText("打開","","Edit1","C:\Users\YBB\Desktop\1.png")

;點(diǎn)擊上傳按鈕

ControlClick("打開","","Button1");

測試是否成功的方法:

在瀏覽器中測試:

點(diǎn)擊上傳文件按鈕后,彈出選擇文件框,運(yùn)行腳本時,要保證此窗口打開狀態(tài),在SciTE Script Editor中點(diǎn)擊Tools的GO,即可運(yùn)行成功。如圖:

在cmd中測試:

首先要將SciTE Script Editor中編寫的腳本轉(zhuǎn)換成exe文件,就需要用到Compile Script to .exe(x64),打開后如圖

打開cmd,輸入如下圖, 雙引號不要省略:

driver.findElement(By.xpath("XXXX")).click();

Runtime.getRuntime().exec("C:\\Users\\YBB\\Desktop\\upload.exe");

執(zhí)行之后,上傳成功!

如果遇到upload.exe不好用,重新保存一次就好了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容