如何使用辅助功能检查器(或任何其他工具)知道UI元素的名称


21

我正在尝试通过Applescript与打印对话框进行交互。

我要模拟的是用户在特定下拉列表上设置值。

说我有:

tell application "System Events"
  tell process "Preview"
    set value of pop up button XXX to YYY
  end tell
end tell

我怎么知道XXX的名字?例如,如何区分“打印机”和“预设”下拉菜单?

我已经打开了辅助功能检查器,但是从那里显示的信息中,我无​​法找到对指定下拉列表的名称或其他唯一标识符的引用。

我见过很多人使用数字来指代不同的下拉菜单,但是我不确定这是一种好习惯。如果苹果决定在某个时候交换两个下拉菜单的顺序会怎样?

任何帮助,将不胜感激。

更新

使用下面建议的10.6.8和检查器,我得到以下信息:

在此处输入图片说明


我发现UI elements这里的命令也很有帮助:n8henrie.com/2013/03/a-strategy-for-ui-scripting-in-applescript
phs

这里的另一个页面的链接提出不同的已链接到当前页面,叫:AppleScript的-我怎样才能得到UI元素的名称,属性,属性,类程序不通过辅助检查‘猜测’?(这里的问题是我想学习“操作方法”的一些基本事实的原因……)
clemsam lang 18-10-30

Answers:


15

更新。这将在10.7.x中工作,但10.6具有les元素信息。

打印表中的按钮(下拉菜单)具有描述功能的描述。

辅助检查器中 ; 将鼠标悬停在元素(按钮)上时,会看到此消息。您可以使用cmd + F7 锁定 辅助功能检查器的视图。

说明将列为AXDescription

在此处输入图片说明

在打印机的情况下,它是预设打印机,它是预设

如果您知道AXDescription,则可以使用类似的方法避免使用数字。但这不是唯一的方法。只是一个例子。

activate application "Preview"
tell application "System Events"
    tell process "Preview"
        click ((pop up buttons of sheet 1 of window 1) whose description is "Printers")
    end tell
end tell

为了使以上内容在此示例中有效,打印表必须与“显示详细信息”一起可见

按钮/下拉菜单有一个菜单。所以,你可以选择或参照点击菜单项中的菜单按钮。

通过数字或使用其标题/ AXTitle。

activate application "Preview"
    tell application "System Events"
        tell process "Preview"
            click ((pop up buttons of sheet 1 of window 1) whose description is "Presets")

click menu item "Last Used Settings" of menu of ((pop up buttons of sheet 1 of window 1) whose description is "Presets")
        end tell
    end tell

您可以通过为按钮使用变量并调用它来缩短重复代码。当像下面的例子那样做时;

   activate application "Preview"
tell application "System Events"
    tell process "Preview"
        set Presets_button to item 1 of ((pop up buttons of sheet 1 of window 1) whose description is "Presets")

        click Presets_button
        click menu item "Last Used Settings" of menu of Presets_button
    end tell
end tell


4

对于那些想知道的人,似乎可以找到在10.7中的辅助功能检查器的一个位置:

/Applications/Xcode.app/Contents/Applications


1

我最近在AppleScript中编写了UI脚本的工作流程

简而言之,使事情变得简单得多的关键组件是,我了解到UI ElementsAppleScript 中的命令返回了AppleScript编辑器希望用来调用UI元素的术语列表。将此接口与从Accessibility Inspector中看到的术语(通常略有不同)相结合以构建工作脚本。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.