我希望下面的代码可以完成这个工作,但是没有成功:
--Only the window is brought into focus
tell application "Google Chrome"
activate tab 1 of window 1
end tell
答案1
事实上,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
答案2
我刚刚完成了这个令人惊叹的脚本,虽然需要进行大量的谷歌搜索和猜测,但它确实有效。
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
这里:它让窗口接受击键。
您可以使用快速脚本使其发挥作用(还有许多其他方法)
答案3
我试图编写一个脚本来暂停和播放 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
答案4
Google Chrome 无法编写脚本(也就是说,它无法理解 Apple 事件)。您可以使用辅助功能 API(需要在“系统偏好设置”>“系统”>“通用访问”中打开;请参阅底部的“启用辅助设备访问”复选框)以困难的方式编写脚本;这可以通过系统事件不幸的是,这在一般情况下是极其痛苦的,但类似的事情
tell application "System Events"
tell application process "Google Chrome"
click tab 1 of window 1
end tell
end tell
可能就足够了。如果没有,那么你需要明确地从小部件树中挖出标签元素;苹果有一些示例代码可以帮助您找到 UI 元素。