1

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')

そこから物事を管理しますが、私にはわかりません。

4

1 に答える 1

0

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 は維持されていないことに注意してください)

于 2014-08-14T17:46:26.330 に答える