我希望这不是太明显,但我想通过AppleScript按下应用程序中的一个工具栏按钮。
背景:该按钮没有任何菜单项或键盘快捷键。因此,我无法通过任何这些方法激活它;我需要找到一种实际上“按下”按钮的AppleScript方式。
答案 0 :(得分:3)
我将对@hced所说的内容进行一些扩展。
我同意click button 3 of tool bar 1 of window 1
在许多情况下有效。然而,从OS到OS,thic可能是一个移动的目标。我的例子是iTunes。在iTunes 10.5.8中,播放按钮为17
,其中10.7.5为25
。但是,在这两种情况下,它都被称为“AirPlay”!
所以我建议使用开发人员工具包,并从Apple获取此代码: http://developer.apple.com/library/mac/#samplecode/UIElementInspector/Introduction/Intro.html
运行应用程序,无论您将鼠标移到哪里,都可以获得在AppleScripts中使用它所需的所有信息:
click (every button whose description is "AirPlay") of window "iTunes" of application process "iTunes"
在这种情况下,只有一个按钮具有此描述,但您可以使用该工具来发现是否是这种情况。如果是这样,请限制范围!
希望这有帮助!! 博
答案 1 :(得分:2)
此示例适用于我,通过其描述属性引用特定的工具栏按钮:
tell application "System Events"
tell process "OmniFocus"
click (every button whose description is "Contexts") of tool bar 1 of window 1
end tell
end tell
我会留意任何评论员提出关于引用每个按钮的意见,其描述为“上下文”(根据我的例子),以表达下面的内容。但我认为不能有多个具有相同描述的按钮,对吧?
答案 2 :(得分:1)
好的,一旦我发现了,这比我想象的要简单。 (谷歌搜索它并没有给予太多帮助,但是一个名为Prefab UI Browser的应用程序找到了如何完成的技巧)。
示例:
tell application "System Events"
tell process "OmniFocus"
click button 3 of tool bar 1 of window 1
end tell
end tell
我有一个后续问题,但是:
如何按名称/描述引用工具栏按钮?我知道按钮的描述属性值为“Contexts”。但同样,我如何在点击声明中引用它?