Switch between Google Chrome Tabs using AppleScript
Google Chrome is, in fact, scriptable.
tell application "Google Chrome" to set active tab index of first window to 3
Works like a charm for version 10.0.648.204.
While it would be nice to do something like the following:
tell application "Google Chrome" to set active tab of first window
to first tab of the first window whose title is "Super User"
It's not possible, since active tab
is a read-only property. You'd need to loop over all a window's tabs to find the index of the one you want by querying each tab's title, and then set the 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
I just finished this amazing script, which required a lot of googling and guessing, but it works.
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
The do shell script
is from here: it gets the Window to accept keystrokes.
You can use FastScripts to make this work (and there are many other methods, too)