1. 程式人生 > >在Selenium 利用AutoIt實現圖片檔案上傳

在Selenium 利用AutoIt實現圖片檔案上傳

1. AutoIT安裝

  下載並安裝AutoIT,下載連結:https://www.autoitscript.com/site/autoit/

  AutoIT安裝成功後,可以在開始選單下看到AutoIT的所有工具,如下圖所示:

  其中分為幾類,AutoIT Window Info用來識別Windows控制元件,根據識別的控制元件資訊編寫指令碼;Complie Script to .exe,用來將利用AutoIt編寫的指令碼,編譯成可執行檔案;Run Script 用來執行AutoIT的指令碼資訊;SciTE Script Editor用來編寫AutoIt指令碼。

  接下來就是利用以上四種工具,來編寫AutoIT指令碼,然後編譯成可執行檔案

2. 獲取資訊:

用滑鼠拖住工具上的Finder Tool的圖示(即圖中藍色圈圈部分)到要識別的控制元件上,控制元件的唯一標識資訊會顯示在工具的左側部分(圖中紅框標出的部分)。

  從顯示的結果得知,此控制元件的Title=“開啟”,Class為Button,Instance=1。我們就是利用控制元件的這些資訊,定位控制元件,編寫指令碼。

3.   編寫檔案  SciTE Script Editor

    根據以上所識別的空間資訊,利用此編輯器,利用此軟體根據AutoIT的語法編寫指令碼。

  附實現檔案上傳需要的幾個方法:

  ControlFocus ( "視窗標題", "視窗文字", 控制元件ID)   設定輸入焦點到指定視窗的某個控制元件上

  WinWait ( "視窗標題" [, "視窗文字" [, 超時時間]] )  暫停指令碼的執行直至指定視窗存在(出現)為止

  ControlSetText ( "視窗標題", "視窗文字", 控制元件ID, "新文字" )   修改指定控制元件的文字

  Sleep ( 延遲 )   使指令碼暫停指定時間段

  ControlClick ( "視窗標題", "視窗文字", 控制元件ID [, 按鈕] [, 點選次數]] )   向指定控制元件傳送滑鼠點選命令

  其中,title即AutoIt Window Info識別出的Title欄位,controlID即AutoIt Window Info識別出的Class和Instance的拼接,如上圖拼接後的結果應為:Button1

       

AutoIT指令碼編寫完成後,儲存一下檔案,則可以通過選單欄“Tools”-->“Go” 執行一下指令碼。注意,執行的時候,上傳視窗需處於開啟狀態。

4. AutoIT指令碼編譯成可執行檔案

  指令碼編輯執行無誤後,將其儲存。然後開啟Complie Script to .exe工具,將儲存的指令碼編譯成exe可執行檔案。

  點選“Browse”選擇儲存的指令碼檔案,點選“Convert”將其生成exe檔案。

5. 使用指令碼

利用以下程式碼使用檔案,則會執行查詢檔案並傳的動作

import os

os.system(r'C:\Users\420003\python_work\reptile_study\Seleniumm\11.exe')