Applescript / Bashscript激活后台运行的隐身Google Chrome

时间:2018-08-29 00:19:40

标签: bash macos applescript

我知道如何以inongito模式打开谷歌浏览器:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --incognito

我还找到了如何关闭隐身谷歌浏览器:

tell application "Google Chrome"
    close (every window whose mode is "incognito")
end tell

也来自this link

tell application "Google Chrome"

    set incognitoIsRunning to the (count of (get every window whose mode is "incognito")) is greater than 0

end tell

if (incognitoIsRunning) then
    say "Shh"
end if

使用以上脚本,我尝试了此操作:

tell application "Google Chrome"

    set incognitoIsRunning to the (count of (get every window whose mode is "incognito")) is greater than 0

end tell

if (incognitoIsRunning) then
    tell application "Google Chrome" to activate
end if

但这并没有激活隐身的谷歌浏览器,它是在激活普通模式的谷歌浏览器。

我同时运行普通和隐身浏览器。 (隐身模式正在播放歌曲,并且在普通的Chrome上运行)。

在还运行正常模式的谷歌浏览器时,我们如何激活incognito google chrome

更新this link

借用想法

我明白了:

tell application "System Events" to tell process "Google Chrome"
    perform action "AXRaise" of window 2
    set frontmost to true
end tell

但这会杀死第二个谷歌浏览器,我需要激活隐身模式, 即使可能正在运行多个正常的Google Chrome。

相关链接:

How to check is Chrome is running in incognito mode using Applescript?

Applescript - Google Chrome activate a certain window

1 个答案:

答案 0 :(得分:0)

我希望能正确理解您的情况,并且了解以下内容:

  • 您正在运行 Google Chrome 单个 实例,该浏览器具有多个打开的窗口,其中至少有一个位于隐身模式;
  • 您希望将应用程序焦点切换到 Google Chrome ,但是您尝试过的方法通常会将 normal 窗口置于前台,而使隐身背面的窗户;
  • 实际上,您希望切换到 Google Chrome 来执行相反的操作,即将 incognito 窗口置于最前面,并保留正常窗口保持打开状态,但在后面。

如果我对您的解释正确,则:

    tell application "Google Chrome"
        activate
        set index of (every window whose mode is "incognito") to 1
    end tell

系统信息: AppleScript版本:“ 2.7”,系统版本:“ 10.13。 6“

activate命令可以实现您所期望的功能,并将焦点集中在 Google Chrome normal 窗口中。下一行将每个 incognito 窗口的索引设置为1,将前一个移到后一个位置。因此,正常窗口最终会出现在后部,这是该过程的自然结果。

关于它的妙处在于, Google Chrome 可以无缝地(在常规条件下)执行这两个命令,这非常令人惊讶。因此,没有可观察到的闪烁或窗口重排:隐身窗口最前面结束时,只是在 Google Chrome 出现在前台的同时出现在前面。 / p>

我不保证所有系统或带有大量打开的窗口都会出现这种情况。但是,在我的低规格Macbook 12“上,当使用4个正常窗口和4个 incognito 窗口进行测试时,切换是流畅的。

我认为 incognito 窗口的顺序最终是相反的,但是如果要保持相对顺序很重要,则只需执行两次set index...命令即可,这将颠倒相反的顺序。但是,当我们从前面的隐身窗口切换到后面的窗口时,确实会产生最小的可见过渡。