Переключение между вкладками Google Chrome с помощью AppleScript

Я надеялся, что следующий код выполнит эту работу, но нет сигары:

--Only the window is brought into focus tell application "Google Chrome" activate tab 1 of window 1 end tell 

Google Chrome, по сути, доступен для сценариев.

 tell application "Google Chrome" to set active tab index of first window to 3 

Работает как прелесть для версии 10.0.648.204.


Хотя было бы неплохо сделать что-то вроде следующего:

 tell application "Google Chrome" to set active tab of first window to first tab of the first window whose title is "Super User" 

Это невозможно, так как active tab – свойство только для чтения. Вам нужно будет перебрать все вкладки окна, чтобы найти индекс того, который вы хотите, запросив заголовок каждой вкладки, а затем установите active tab index :

 tell application "Google Chrome" set i to 0 repeat with t in (tabs of (first window whose index is 1)) set i to i + 1 if title of t is "Super User" then set (active tab index of (first window whose index is 1)) to i end if end repeat end tell 

Я только что закончил этот удивительный сценарий, который требовал много поиска и угадывания, но он работает.

 tell application "Google Chrome" activate repeat with w in (windows) set j to 0 repeat with t in (tabs of w) set j to j + 1 if title of t contains "Workflowy" then set (active tab index of w) to j set index of w to 1 tell application "System Events" to tell process "Google Chrome" perform action "AXRaise" of window 1 -- `set index` doesn't always raise the window end tell return end if end repeat end repeat end tell 

Сценарий do shell script отсюда : он получает окно, чтобы принимать нажатия клавиш.

Вы можете использовать FastScripts для выполнения этой работы (и есть много других методов)

Google Chrome не доступен для сценариев (то есть он не понимает Apple Events). Вы можете с жестким сценарием использовать API Accessibility (который вам нужно включить в Системные настройки> Система> Универсальный доступ, снимите флажок «Включить доступ для вспомогательных устройств» внизу); Это выполняется с помощью пакета Processes System Events . К сожалению, это очень болезненно в общем случае, но что-то вроде

 tell application "System Events" tell application process "Google Chrome" click tab 1 of window 1 end tell end tell 

Может быть достаточно. Если это не так, то вам нужно явно выкопать элемент tab из дерева виджета; У Apple есть пример кода, который поможет вам найти элементы пользовательского интерфейса.

Я пытался написать сценарий для приостановки и воспроизведения Netflix, а приведенный выше код был хорошей основой для поиска по вкладкам. «Индекс которого 1» продолжал метать ошибки компилятора на моем Mac Mini 10.8.3, поэтому на основе кода из http://en.blog.guylhem.net/post/9835498027/google-chrome-next-tab-in- Applescript , я просто полностью удалил ссылку (которая работала для моих целей)

Скрипт в основном активирует окно браузера, проходит через вкладки, пока не найдет один под названием «Netflix», и отправит ему код клавиши 49 (пробел).

 tell application "Google Chrome" activate set i to 0 repeat with t in (tabs of (first window)) set i to i + 1 if title of t is "Netflix" then set (active tab index of (first window)) to i end if end repeat tell application "System Events" to key code 49 end tell 
  • Получить путь к открытому файлу в любом приложении в Mac OS X?
  • Как использовать / etc / fstab и / или автомонтировать с помощью sshfs на OSX?
  • Восстановите MacBook Pro до заводских настроек без диска
  • Почему Mac OS X настаивает на изменении моего MTU до 1500?
  • Как я могу контролировать использование сети по процессам в Mac OS X?
  • Как изменить сочетание клавиш для переключения вкладок в Mac Terminal?
  • Что я могу сделать, чтобы остановить кнопку Play / Pause от открытия iTunes?
  • ld: библиотека не найдена для -lcrt0.o на OSX 10.6 с gcc / clang -статическим флагом
  • Как отключить комбинацию клавиш Option-Space для неразрывных пробелов?
  • Ошибка PID при запуске mysql.server?
  • Какие сочетания клавиш перемещают, изменяют размер и увеличивают окна в Mac OS X?
  • Interesting Posts
    Давайте будем гением компьютера.