识别用于 AppleScript 的 Mac OS X 窗口、组和文本字段名称

识别用于 AppleScript 的 Mac OS X 窗口、组和文本字段名称

Name我有一个 Applescript,我希望在其中设置文本字段和Password属于该进程的窗口的值SecurityAgent

它类似于以下内容:

tell window "Authenticate" of process "SecurityAgent"
    tell group 1
        set value of text field 1 to "king"
        set value of text field 2 to "king1"
    end tell
    click button "OK" of group 2
end tell 

虽然我的脚本也引用了该过程SecurityAgent,但有问题的窗口是关闭 OS X 时弹出的窗口,并且另一个用户已登录。SecurityAgent弹出的窗口要求输入管理员用户名和密码才能完成关闭过程。我不知道如何引用该窗口中的文本字段。

我的问题是,如何找出这些文本字段的名称、它们所属的组以及它们所属的窗口?有没有映射 OS X 窗口的方法,以便我可以在 AppleScript 中引用它们?我似乎在任何地方都找不到有关此信息。

答案1

我曾经尝试点击图像捕捉应用程序中的按钮我花了一段时间才找到这个特定的按钮。正如我在那里的问题/回答中所解释的那样,有一种方法,使用UI元素检查器。 你可以从 Apple 免费下载(下载链接位于顶部的按钮中,直接链接这里)。

它允许您查看您悬停的每个窗口的 UI 元素。按下Cmd-F7将其内容锁定到您悬停的元素。

在此处输入图片描述

“有趣”的部分实际上是弄清楚窗口是如何分组的,以及哪些元素属于哪个父级。这款售价 55 美元的应用程序用户界面浏览器声称在这方面做得更好。

当您手动调试 AppleScript 并且处于窗口范围内时,您可以尝试使用以下命令猜测单个元素:

UI elements of window 1
UI elements of splitter group 1 of window 1
UI elements of group 1 of splitter group 1 of window 1

这些将为您提供一个列表,您可以使用它来缩小对元素及其各自标题的搜索范围。

相关内容