AppleScript:菜单栏项目单击(但没有 AXDescription)

Posted

技术标签:

【中文标题】AppleScript:菜单栏项目单击(但没有 AXDescription)【英文标题】:AppleScript: Menu bar item click (but no AXDescription) 【发布时间】:2014-11-04 07:21:02 【问题描述】:

我希望 AppleScript 单击菜单栏图标(不是系统进程),然后单击其中一个菜单项。我使用的是 OS X 10.10。

我读过我可以使用 Accessibility Inspector 来查找项目的 AX​​Description,但是,我在检查器的任何地方都找不到它(事实上,我检查的所有项目似乎都没有这个属性)。

我也尝试了described here的方法,但在第10行出现错误:

ignoring application responses
    tell application "System Events" to tell process "Webcam Settings"
        click menu bar item 1 of menu bar 2
    end tell
end ignoring
do shell script "killall System\\ Events"
delay 0.1
tell application "System Events" to tell process "Webcam Settings"
    tell menu bar item 1 of menu bar 2
        click menu item "Show Webcam Settings Panel" of menu 1
    end tell
end tell

 System Events got an error: Can’t get menu 1 of menu bar item 1 of menu bar 2 of process "Webcam Settings". Invalid index.

【问题讨论】:

那么你的路径就是错误的。显示打开到该菜单项的应用的屏幕截图。上面锁定的辅助功能检查器是显示菜单还是菜单项。你确定是菜单栏2吗? 你能解释一下路径名是什么意思吗?屏幕截图中的 AI 将菜单栏项(图标)锁定。这是AI锁定到菜单项cl.ly/image/1B053O2P2D3H的截图我怎么知道是菜单栏1还是2? 好的,您访问的不是标准菜单,而是菜单栏右侧的实用程序图标菜单。部分问题可能在于这是一个“不露面”的应用程序。它出现在 Dock 中吗?它的“最前面”可以设置为“真”吗?否则,系统事件可能无法访问其菜单项。 【参考方案1】:

有一些菜单栏应用程序,无论它们是否出现在 Dock 中,您都可以单击它们并使用 AppleScript 显示菜单。 但恐怕你不能用applescript访问“网络摄像头设置”的菜单栏。 因为属性中没有名为“isAccessbiliyFocused”的键。 可以使用 applescript 显示其菜单的菜单栏应用程序具有该键,其值为“是”。 我不太确定我的答案,但就我调查这个问题而言,我的答案可能是正确的。

【讨论】:

以上是关于AppleScript:菜单栏项目单击(但没有 AXDescription)的主要内容,如果未能解决你的问题,请参考以下文章

Applescript 显示 Apple 菜单栏项目

使用 Applescript 创建一个简单的菜单栏应用程序

使用AppleScript单击菜单项

使用AppleScript单击菜单项

使用AppleScript单击菜单项

使用AppleScript单击菜单项