首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用AutomationID在AutoIT中单击按钮

使用AutomationID在AutoIT中单击按钮
EN

Stack Overflow用户
提问于 2018-09-05 10:21:08
回答 1查看 1.8K关注 0票数 1

我正在使用VB6自动化AutoIT应用程序,并遇到了一些问题。

应用程序有一个“工具箱”窗口,其中包含一个SSTab控件,其中有6个行的18个选项卡。ThunderRT6CommandButton类有100多个实例。我的AutoIT脚本应该与特定的按钮交互,到目前为止我一直在使用ControlClick

代码语言:javascript
运行
复制
ControlClick($sToolboxes, '', '[CLASS:ThunderRT6CommandButton; INSTANCE:81]')

问题是,当我切换到另一个选项卡并关闭工具箱窗口时,应用程序会记住哪个选项卡是打开的。这意味着,下次打开工具箱窗口时,选项卡将以不同的顺序启动,所有按钮的实例编号都已更改。我甚至不能调用ControlClick并指定要单击的按钮的文本,因为这并不是唯一的;其中大约20个按钮被简单地标记为'Apply‘。

使用Inspect.exe时,我注意到每个按钮都有一个唯一的AutomationID,即使在调整选项卡后关闭和重新打开工具箱窗口时,这个值也是恒定的。

我是否可以使用AutomationID在AutoIT?中单击按钮?

我能想到的唯一其他解决办法是让AutoIT脚本启动应用程序本身,这样每次脚本运行时,工具箱都会保持相同的顺序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-05 10:55:15

AutoIT窗口信息工具显示AutomationID,但将其称为"ID":

我更改了脚本,使其包含ID:##,而不是实例号,它起作用了:

代码语言:javascript
运行
复制
ControlClick($sToolboxes, '', '[CLASS:ThunderRT6CommandButton; ID:245]')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52182777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档