Установите активную вкладку в Chrome и перенесите ее на передний план
Я хотел бы использовать Python и appscript, чтобы установить данную вкладку Google в качестве основной вкладки. Я могу получить вкладку таким образом:
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')
И управлять всем оттуда, но я понятия не имею.
1 ответ
Ты можешь использовать win.active_tab_index.set(number)
изменить активную вкладку. Нет необходимости в системных событиях. Но tab
объект не имеет ссылки на свой собственный индекс, поэтому замените его следующим (edit: переписан, чтобы избежать ошибки)
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) (Но приложение-заметка не поддерживается)