如何通过AppleScript启动Hangouts Chrome扩展程序?


1

我正在尝试在AppleScript或终端中启动Google Chrome扩展程序。通过“启动”,我的意思是复制点击Chrome工具栏中的扩展程序图标的行为。

有问题的Chrome扩展程序是Google Hangouts。点击扩展程序图标会在Chrome中创建一个包含环聊拨号程序的新伪窗口。


这是我考虑过的:

  • 我在硬盘上发现了这个扩展的物理位置:

    • /Users/Me/Library/Application Support/Google/Chrome/Default/Extensions/ nckgahadagoaajjgafhacjanaoiihapd/2018.123.418.2_0

    • 但是,我没有发现任何重要意义。

  • 我进入chrome-extension://nckgahadagoaajjgafhacjanaoiihapd/Chrome的地址栏,导致出现“找不到您的文件”消息。

  • 我不知道将键盘快捷方式与Hangouts扩展程序相关联的方法。环聊扩展程序的上下文菜单中的“选项”项目无法选择(即,它显示为灰色)。

  • 环聊扩展程序有第二个快捷方式,位于系统范围的顶级菜单栏中。我尝试以编程方式单击菜单栏图标,其代码如下(来源)

    • tell application "System Events" to tell process "SystemUIServer" to tell (menu bar item 1 of menu bar 1) to click

    • 但是,我无法让AppleScript点击任何属于wifi符号左侧的图标。

  • 我知道环聊有一个网络界面(https://hangouts.google.com)。但是,给予Web界面的任何电话号码都由分机拨号(而不是由Web界面本身拨打)。因此,直接与扩展交互更为理想。


可怕的鼠标点击模拟是实现我想要的唯一方法吗?


Answers:


1

这适用于我在macOS High Sierra

if running of application "Google Chrome" then
    tell application "System Events" to click menu bar item 1 of menu bar 2 of application process "Chrome"
else
    tell application "Google Chrome"
        activate
        tell active tab of front window
            repeat while (loading)
                delay 0.2
            end repeat
        end tell
    end tell
    tell application "System Events" to click menu bar item 1 of menu bar 2 of application process "Chrome"
end if

注:例子 的AppleScript 代码就是这样,不使用任何错误处理,仅是为了展示的途径之一完成的任务。用户有责任根据需要添加/使用适当的错误处理


在IDE中运行时,您的方法可以根据需要执行。但是,我在服务中实现此代码时遇到困难。我发了一篇关于它的新帖子,因为这个问题实际上是一个与Hangouts无关的服务特定错误,因此它保证了自己的专用问题。请参阅:使用AppleScript单击菜单栏图标时服务崩溃
rubik's sphere
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.