Applescript 单击 Mac 菜单栏中的特定图标

问题描述 投票:0回答:2

有时我使用 PdaNet 来连接我的 iPhone。 OSX 的桌面客户端不如 Windows 的桌面客户端丰富。主要区别之一是,OSX 不允许在 iPhone 插入后立即自动连接到 iPhone。

您是否知道使用 Applescript 单击菜单栏上的 PdaNet 图标,然后选择并单击其上的“连接”选项的方法?

“PdaNetMac”应用程序的菜单栏图标如下所示:

enter image description here

我已经查看了以下问题,但我是一名 applescript 新手,并且不确定如何在菜单栏上搜索 PdaNet 的图标:

  1. 使用 AppleScript 单击 Mac OSX Lion 上的菜单项
  2. Applescript:通过 gui 脚本单击菜单栏项目
  3. 使用 AppleScript 访问扩展坞图标右键菜单项

我已确认已启用“启用辅助设备访问”。

基于上面的第二个问题,这是我目前的尝试:

ignoring application responses
    tell application "System Events" to tell process "PdaNet"
        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 "PdaNet"
    tell menu bar item 1 of menu bar 2
        click menu item "Connect" of menu 1
    end tell
end tell

有趣的是,当我将

PdaNet
更改为
Flux
时,上述脚本对我来说效果很好。

谢谢!!

macos applescript tethering
2个回答
11
投票

你们非常接近!!

我刚刚下载了 PdaNet 应用程序来测试它,我必须对脚本进行的唯一编辑是将

PdaNet
更改为“PdaNetMac”(我认为这是进程名称,因此使用了“活动”中显示的进程名称监视器)。

所以这对我有用:

ignoring application responses
    tell application "System Events" to tell process "PdaNetMac"
        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 "PdaNetMac"
    tell menu bar item 1 of menu bar 2
        click menu item "Connect" of menu 1
    end tell
end tell

希望这也适合你!

(非常有用的脚本,顺便说一句。干杯!)


0
投票

我必须执行类似的脚本编写,对我有用的是使用 try 块:

tell application "System Events" to tell process "FortiTray"
    repeat
        try
            click menu item "Connect to XYZ" of menu 1 of menu bar 1
        end try
        delay 2 -- = Time to wait until next check in seconds
    end repeat
end tell
© www.soinside.com 2019 - 2024. All rights reserved.