【发布时间】:2017-11-03 08:15:49
【问题描述】:
我希望在 Windows 2008 上自动化软件。自动化软件不必与 Windows 2008 兼容(我可以使用远程桌面)。 GUI 有两个主要区域,左侧是嵌入图像列表,右侧是显示窗格。显示窗格显示所有嵌入图像在屏幕上的位置(该程序用于构建人机界面 [HMI])。
我需要单击左侧列表中的每个嵌入图像并从中提取一些数据。 问题是;根据选择的主显示文件,嵌入图像列表将具有不同的名称和不同的长度。
因此,自动任务会根据打开的主显示图像文件而变化。是否有可以为此定制的自动化程序?我可以为每个主要显示文件编写单独的脚本,但这违背了自动化的目的。我查看了 Sikuli、AutoIt、pywinauto 等,但没有找到我想要完成的示例。
【问题讨论】:
-
到目前为止,问题看起来太宽泛了。你到底尝试了什么?也许是 Spy++ 或 Inspect.exe?这些程序是否可以看到图像名称? Spy++ 可以替换为 AutoItWindowInfo 工具,它是 Spy++ 的克隆。但是 Inspect.exe 通常可以显示更多的数据,因为 UI 自动化比 Win32 API 更强大。 AFAIK AutoIt 和 AutoHotKey 不支持 UI 自动化。 Pywinauto 可以。
-
在本地机器上运行脚本通常是不可能的,因为远程桌面不透明地提供 GUI 元素信息。因此,例如,您必须将脚本复制到目标远程计算机并通过 psexec 运行它。或者使用 Jenkins 代理作为非服务 + VNC 服务器而不是远程桌面。但这是与特定自动化工具/库无关的单独问题。
-
Inspect.exe可以在这里找到:github.com/blackrosezy/gui-inspect-tool