AppleScript:在 Safari Windows 之间切换?

AppleScript: Toggle Between Safari Windows?

如果我有两个 safari windows 打开,每个只有一个选项卡,我如何让 applescript 随意切换到 windows 中的任何一个?或者换句话说,在它们之间切换。

我试过了,activate window 1(或者,第一个 window),和 activate window 2(或者第二个 window),只会激活第一个 window.

我试过open window 1等等,打开不存在。

我尝试使用系统事件,click menu bar 1 option,认为菜单栏 2 可能是 window 2 的,但没有用。

我尝试让 do javascript 在特定选项卡上显示该页面,但无法正常工作。

最终我确实发现我可以使用键盘快捷键,但我想看看是否有更多 'vanilla' applescript 方式。

  • 如果windows不是全屏(在不同的空间)只需更改window

    index
      tell application "Safari"
          set index of window 2 to 1
      end tell
    
  • 如果 windows 位于不同的空间,您必须通过使用 System Events 执行击键来切换空间。美式键盘上的默认值是⌃←

      tell application "System Events"
          key code 123 using (control down)
      end tell
    

    和⌃→

      tell application "System Events"
          key code 124 using (control down)
      end tell
    

当我这样做的时候

tell application "Safari"
  set index of window 2 to 1
end tell

出现的新window被冻结了。我通过这样做解决了这个问题

    tell application "Safari"
    set theWindows to windows
    set win2 to item 2 of theWindows
    tell win2
        set visible to false
        set visible to true
        set index to 1
    end tell
    activate
end tell