0

考虑这个AutoIt代码:

WinActivate("Test Window")

Sleep(5000)

ControlClick("Test Window", "", 197128)

我正在测试的窗口中有一个按钮。我编写了一个简单的脚本来使用ControlClick单击按钮。我使用 controlID 来识别并单击按钮(我使用 AutoIt 窗口信息来获取 controlID)。该脚本有效。问题是每次启动测试窗口时控件 ID 都会发生变化。因此,脚本不会在每次启动窗口的新实例时模拟按钮单击。如何让 controlclick 每次都按预期工作?

4

1 回答 1

4

对于具有动态控件 ID 的控件,最好使用高级检测。

从帮助文件中可以看出:

可以使用特殊描述作为大多数 Control...() 函数中使用的 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
于 2013-10-07T14:59:52.053 回答