2014-12-09 124 views
2

我有一个OS X应用程序作为状态栏应用程序运行。我正在尝试做一个测试自动化。有没有办法使用Apple Script单击状态栏应用程序?Applescript点击Mac状态栏中的特定应用程序

下面给出的脚本仅适用于本机应用程序。

​​

我在寻找类似的功能在自定义应用程序。

+0

作为一个状态栏应用程序,你是什么意思?这是一个带进度指示器的窗口吗?你的意思只是作为菜单图标吗?如果是这样,除非应用程序有字典,否则无法通过applescript访问它。 – jweaks 2014-12-09 15:22:27

+0

通过状态栏应用,我的意思是Google Drive等应用。就像这个链接中给出的应用程序 - http://www.makeuseof.com/tag/pimp-macs-menu-bar-best-tweaks-apps/ – 2014-12-09 16:08:59

+0

好的,仅供参考,这些被称为“菜单栏附加”。您无法可靠地脚本访问它们。订单可以更改。有些可以隐藏在某些情况下。 – jweaks 2014-12-09 20:21:29

回答

1

并非所有菜单栏附加功能(或状态图标)均可通过UI脚本访问。你必须尝试是否可以通过独特的描述或其他价值来调用它们。 使用如下代码玩玩看,如果你能搞清楚:

tell application "System Events" to tell process "SystemUIServer" 
    tell (menu bar item 1 of menu bar 1 where description is "clock") 
     click 
     click menu item "Open Date & Time Preferences…" of menu 1 
    end tell 
end tell 

如果你不能找到它,你可以尝试菜单栏2状态的项目。

+0

如果我正在开发应用程序,是否有任何需要执行的操作来启用UI脚本?我正在尝试对我的应用进行自动测试。 – 2014-12-10 09:28:28

+0

是的,请确保您的Menu Bar Extra被放置在菜单栏1中,并且您要填写内容以获取诸如角色描述,标题,名称和描述等内容。 – jweaks 2014-12-10 17:31:36

+0

并且,包含您的应用发行版的示例脚本。这是最有帮助的。 – jweaks 2014-12-11 17:40:13

相关问题