天天看点

autoIT 窗口模糊定位方法

AutoIt 支持三种"窗口匹配"模式. 若要更改此模式可通过函数 AutoItSetOption 修改 WinTitleMatchMode 属性即可. 

模式 1 (默认)

只匹配标题的前面部分.

在此模式下,若一个窗口的标题是 无标题 - 记事本 则可使用如"无标题 - 记事本","无标题" 甚至是 "无" 等字符串作为 窗口标题参数使用.

例如:

    WinWait("无标题")

 

模式 2

标题的任意子字符串皆可.

在此模式下,若一个窗口的标题是无标题 - 记事本 则可使用如"无标题 - 记事本","无标题","记事本", 甚至是 "本" 等字符串作为窗口标题参数使用.

例子:

    WinWait("记事本")

 

模式 3

完全匹配标题.

在此模式下,若一个窗口的标题是无标题 - 记事本则 只能使用 "无标题 - 记事本" 作为窗口标题参数使用.

 

模式 4

(向后兼容) 
高级模式

已经被高级窗口描述取代,不需要设置任何模式即可使用.      

 官网在线帮助文档:​​在线预览​​

;--------------------------------------------------------------;脚本开始
Opt("TrayIconDebug", 1) ;0=无信息, 1=调试信息
Opt("WinTextMatchMode", 2) ;1=完全匹配, 2=快速匹配
Opt("WinTitleMatchMode", 4) ;1=开头, 2=子串, 3=完全, 4=高级
Opt("WinSearchChildren", 1) ;0=不搜索, 1=搜索子窗口
Opt("WinDetectHiddenText", 1) ;0=不检测, 1=检测
;--------------------------------------------------------------;设置脚本参数
$WinTitle_1= '易飞 ERP 系统客户端安装向导'
$WinTitle_2= '易飞程序更新精灵-ver: 7.0.0.0'
$Wintxt_0= ''
$Wintxt_1= '下一步 ->'
$Wintxt_2= '自定义安装/升级'
$Wintxt_3= '跳过此步'
$Wintxt_4= '开始安装 ->'
;--------------------------------------------------------------;窗口元素变量声明$Exe = '\\10.1.2.20\soft\erp\ERP70\ERp70\LeaderSetup.exe'
If ProcessExists($Exe) Then ProcessClose($Exe)
If Run($Exe) = 0 Then ShellExecute($Exe)Do
        Sleep(10);
Until WinExists($Wintitle_1)
;WinMove($Wintitle_1, "", -1000, -1000)
;--------------------------------------------------------------;程序启动,显示界面
WinWaitActive("易飞 ERP 系统客户端安装向导","取消")
Opt("MouseCoordMode", 0)
MouseClick ( "left",300,400)WinWaitActive($Wintitle_1, $Wintxt_1);
ControlClick($Wintitle_1, $Wintxt_1, "TRadioButton2");---------------;点击按钮控件: 我同意以上许可协议中所有条款WinWaitActive($Wintitle_1, $Wintxt_1);
ControlClick($Wintitle_1, $Wintxt_1, "TBitBtn2");---------------;点击按钮控件: 下一步 ->WinWaitActive($Wintitle_1, $Wintxt_2);
ControlSetText($Wintitle_1, $Wintxt_2, "TDsBtnEdit1", "D:\Conductor70");------;重置文本框控件文本
ControlSetText($Wintitle_1, $Wintxt_2, "TDsEdit1", "10.1.2.6");------;重置文本框控件文本
ControlClick($Wintitle_1, $Wintxt_2, "TBitBtn2");---------------;点击按钮控件: 下一步 ->WinWaitActive($Wintitle_1, $Wintxt_4);
ControlClick($Wintitle_1, $Wintxt_3, "TBitBtn2");---------------;点击按钮控件: 开始安装 ->WinWait("易飞 ERP 系统客户端安装向导","完成安装");
ControlClick("易飞 ERP 系统客户端安装向导","完成安装","TRadioButton3")
ControlClick("易飞 ERP 系统客户端安装向导","完成安装","TBitBtn2")