想要引數化傳入的引數,可以通過autoit的命令列引數:
myprog.exe param1 「this is a string parameter」 99在指令碼中,可用以下變數獲取命令列引數:
$cmdline[0] ; = 3
$cmdline[1] ; = param1
$cmdline[2] ; = "this is a string parameter"
$cmdline[3] ; = 99
$cmdlineraw ; = 'param1 "this is a string parameter" 99'
$cmdline[0] 獲取的是命令列引數的總數,在上例中$cmdline[0]=3
$cmdline[1]~$cmdline[63] 獲取的是命令列引數第1到第63位,這個方式最多只能獲取63個引數,不過正常情況下是足夠用的
$cmdlineraw 獲取的是未拆分的所有引數,是乙個長字串,這種情況下不侷限與63個引數
下面我們小小實踐一下:
示例**:通過autoit的獲取物件並編輯指令碼:
controlfocus("檔案上傳", "", "edit1")
winwait("[class:#32770]", "", 10)
controlsettext("檔案上傳" ,"", "edit1", $cmdline[1])
sleep(2000)
controlclick("檔案上傳", "","button1");
通過aut2exe工具將指令碼轉成exe檔案(upfile.exe)
我們先通過命令列試試,開啟網頁上傳彈框,然後在cmd中執行該指令碼:
d:\upfile.exe
"d:\1.html"
成功!
接下來就是用python用os模組來呼叫該檔案了:
# -*- coding: utf-8 -*-
from selenium import webdriver
import os
import time
driver = webdriver.firefox()
driver.get('')
driver.find_element_by_id('file').click()
time.sleep(1)
os.system('d:\\upfile.exe "d:\\1.html"') # 這裡可以對傳參進行引數化,我們可以通過py指令碼來控制所要上傳的檔案了
time.sleep(3)
driver.quit()
執行,成功!
當然,這裡只是個示例,實際上對於這種input標籤,我們直接send_keys就可以了。今後再專門討論上傳的處理。
AutoIt學習資料
autoit 目前最新是v3版本,這是乙個使用類似basic指令碼語言的 免費軟體 它設計用於 windows gui 圖形使用者介面 中進行 自動化 操作.它利用模擬鍵盤按鍵,滑鼠移動和視窗 控制項的組合來實現自動化任務 比如自動安裝 而這是其它語言不可能做到或無可靠方法實現的 例如 vbscri...
Autoit 知識要點
fileexists函式 myfile d 1.txt 檔案路徑 if fileexists myfile then filedelete myfile else msgbox 0,提示 檔案不存在 endif換行符號 crlf msgbox 0,換行 第一行 crlf 第二行 5 run coms...
AutoIT測試例項
autoit是一款非常強大的免費功能自動化測試工具,使用它可以輕鬆實現web和winform的自動化測試。其指令碼語言au3語法類似於vb語言和vbs指令碼語言,對於經常使用qtp的童鞋來說,非常容易上手。以下是乙個使用autoit測試web登入的乙個例項。首先先介紹一下待測 待測 是乙個彩鈴製作 ...