考虑这个AutoIt代码:
WinActivate("Test Window")
Sleep(5000)
ControlClick("Test Window", "", 197128)
我正在测试的窗口中有一个按钮。我编写了一个简单的脚本,使用ControlClick点击按钮。我使用controlID来识别并单击按钮(我使用AutoIt窗口信息来获取controlID)。该脚本有效。问题是每次启动测试窗口时控件ID都会更改。因此,每次启动窗口的新实例时,脚本都不会模拟按钮单击。如何每次按预期进行controlclick工作?
答案 0 :(得分:4)
对于具有动态控制ID的控件,最好使用高级检测。
可以在帮助文件中看到:
可以使用特殊描述作为大多数使用的controlID参数 控制...()函数。该描述可用于通过标识来识别控件 以下属性:
例如,
ControlSend("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "This is some text")
或者
ControlClick("My Window", "", "[CLASS:Button; TEXT:Finish; INSTANCE:2]")
不要忘记设置:
Opt("WinTitleMatchMode", 4) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase