在Chrome中设置活动选项卡并将其带到前面



我想使用Python和appscript设置一个给定的谷歌标签作为最重要的标签。我可以这样获取标签:

from appscript import *
chrome = app('Google Chrome')
tab_title = 'New York Times'
win_tabs = []
for win in chrome.windows.get():
    win_tabs.append([])
    tnames = map(lambda x: x.title(), win.tabs())
    rel_t = [t for t in win.tabs() if tab_title in t.title()]
    if len(rel_t):
        rel_t = rel_t[0]
        break

现在,我想把这个选项卡设置为最前面的窗口。什么好主意吗?我想我必须使用像

这样的东西
se = app('System Events')

从那里管理东西,但是我不知道。

您可以使用win.active_tab_index.set(number)来更改活动选项卡。不需要系统事件。但是tab对象没有对其自身索引的引用,因此将其更改为以下内容(编辑:重写以避免错误)

def activate_chrome_tab(title):
    for window in chrome.windows.get():
        for index, tab in enumerate(window.tabs()):
            if title in tab.title():
                window.active_tab_index.set(index + 1)
                window.activate()
                window.index.set(1)
                return
activate_chrome_tab(tab_title)

(如果有多个具有相同选项卡名称的窗口,它将依次聚焦每个窗口-这就是原始

的方式

(来源:Chrome applescript字典)(注意appscript不维护)

最新更新