我想使用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不维护)