autoit入門教程小結(jié)第4/5頁
1、模擬鼠標點擊(按鈕等)控件
既然是模擬用戶操作,自然就包括了模擬鼠標點擊在內(nèi)。
適用命令/函數(shù):Click/MouseClick/ControlClick
其中Click/MouseClick用來模擬用戶的物理操作(點擊),把鼠標點擊事件發(fā)送到指定坐標位置(相對當前窗口或絕對位置)上,但這種方法并不能保證100%的準確性,屏幕分辨率、用戶干擾和系統(tǒng)環(huán)境等都會影響到它們的執(zhí)行結(jié)果,而ControlClick則直接把鼠標點擊事件發(fā)送到目標窗口的目標控件上,因而更準確,一般我們不考慮使用坐標位置方式的點擊,下面僅以ControlClick為例說明:
AHK:
ControlClick [, 目標控件或坐標位置, 窗口標題, 窗口文本, 鼠標按鈕, 點擊次數(shù), 選項,排除標題, 排除文本]
AU3:
ControlClick ( "窗口標題", "窗口文本", 控件ID [, 按鈕] [, 點擊次數(shù)]] )
對AHK而言,“目標控件”參數(shù)是指要點擊的控件的類別名(ClassNN)或控件文本,另外還可以使用控件句柄(若用的是控件句柄則第一個參數(shù)需留空,并在第二個參數(shù)中使用ahk_id %控件句柄%)。
Q:用什么工具來獲得目標控件的這些信息呢?
A:AHK用戶請使用 AutoIt3 Window Spy,AU3用戶則請使用AutoIt Window Info,你可以在相應的開始菜單項目里找到它們,或者到安裝目錄下尋找。
Q:如何使用這兩個工具?
A:先打開你要進行操作的目標窗口,然后運行 AutoIt3 Window Spy 或 AutoIt Window Info,接下來就是把鼠標移到目標控件上(比如某個按鈕):
AutoIt3 Window Spy 使用演示截圖:
AutoIt Window Info 使用演示截圖:
現(xiàn)在我們假設已打開并激活了“系統(tǒng)屬性”窗口,而任務是點擊它的“確定”按鈕,則可用以下幾種方法:
【示例4.1.1】
AHK:
ControlClick, 確定, 系統(tǒng)屬性
ControlClick, Button2, 系統(tǒng)屬性
AU3:
ControlClick("系統(tǒng)屬性", "", 1)
ControlClick("系統(tǒng)屬性", "", "Button2")
ControlClick("系統(tǒng)屬性", "", "確定")
提醒:即使目標窗口或控件是隱藏狀態(tài),ControlClick命令還是可以“點擊”目標控件,但不能保證成功率。
2、模擬鍵盤操作
鍵盤也是我們在操作窗口時會用到的工具,比如說在安裝軟件的時候經(jīng)典的“一路回車大法”。下面簡單介紹一下模擬鍵盤操作的方法。
Send
這個是最直接的方法,就是模擬用戶按鍵行為,直接發(fā)送鍵擊命令,用法請參考官方文檔,在此不予說明。
最簡單的應用――按回車:
AHK:
Run, Control Sysdm.cpl
WinWait, 系統(tǒng)屬性
Send, {Enter}
AU3:
Run("Control Sysdm.cpl")
WinWait("系統(tǒng)屬性")
Send("{Enter}")
常見的組合鍵――Alt+X / Ctrl+N等等,在安裝軟件的時候經(jīng)常會有提供一個按鈕“下一步(N)”,表示按下Alt+N即可觸發(fā)等同于點擊該按鈕的效果,其它的可觸類旁通。以打開記事本窗口的“文件”菜單為例:
AHK:
Run, Notepad
WinWait, 無標題 - 記事本
WinActivate, 無標題 - 記事本
WinWaitActive, 無標題 - 記事本
Send, !f
AU3:
Run("Notepad")
WinWait("無標題 - 記事本")
WinActivate("無標題 - 記事本")
WinWaitActive("無標題 - 記事本")
Send("!f")
相關文章
使用AutoIT實現(xiàn)自動登錄/退出客戶端軟件,刪除日志
最近在測試新版客戶端時發(fā)現(xiàn),會不定時的出現(xiàn)登錄失敗,提示信息是“連接登錄服務器失敗...”。經(jīng)過一番嘗試,發(fā)現(xiàn)在安裝客戶端后登錄,錯誤出現(xiàn)的幾率較高。2009-03-03