Я надеялся, что следующий код будет делать работу, но не сигару:
--Only the window is brought into focus
tell application "Google Chrome"
activate tab 1 of window 1
end tell
Я надеялся, что следующий код будет делать работу, но не сигару:
--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 чтобы сделать эту работу (и есть много других методов, тоже)
Я пытался написать скрипт для паузы и воспроизведения 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
Google Chrome не поддерживает сценарии (то есть он не понимает событий Apple). Вы можете написать сценарий с помощью API специальных возможностей (который вам нужно включить в Системных настройках > система > Универсальный доступ; см. флажок "Включить доступ для вспомогательных устройств" внизу); это делается с помощью набора процессов Системные События. К сожалению, это крайне болезненно, в общем случае, но что-то вроде
tell application "System Events"
tell application process "Google Chrome"
click tab 1 of window 1
end tell
end tell
может быть достаточно. если это нет, тогда вам нужно будет явно выкопать элемент tab из дерева виджетов; у Apple есть некоторые пример кода что может помочь вам найти элементы пользовательского интерфейса.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]