Запустите Applescript на всех вкладках в окне - PullRequest
0 голосов
/ 15 января 2020

Я хотел бы запустить следующий AppleScript на всех вкладках в Google chrome.

tell application "Google Chrome" to tell active tab of window 1

    execute javascript "document.getElementsByClassName('bt bt3 bw4')[0].click();"

end tell

Мне удалось запустить его на всех вкладках в Safari с помощью;

tell application "Safari"
    repeat with t in tabs of windows

        do JavaScript "document.getElementsByClassName('bt bt3 bw4')[0].click();" in t
    end repeat

end tell

Но я не могу повторить это в Chrome.

У кого-либо есть Любой совет или знаете, если это достижимо?

Спасибо

1 Ответ

0 голосов
/ 18 января 2020

Поскольку вы не предоставили URL для проверки по getElementsByClassName('bt bt3 bw4'), я открыл несколько Google Chrome windows, каждый с несколькими вкладок с URL этого вопроса и адресом Задать вопрос кнопка , которая имеет имя класса из ws-nowrap s-btn s-btn__primary.

Следующий пример AppleScript код работал для меня тем, что он нажимал каждые Задать вопрос кнопка на каждой вкладке каждого Google Chrome окна :

tell application "Google Chrome"
    repeat with t in tabs of windows
        tell t to execute javascript "document.getElementsByClassName('ws-nowrap s-btn s-btn__primary')[0].click();"
    end repeat
end tell

Подсказка: мышь и горизонтальная прокрутка, чтобы увидеть полный код .

Замена имени класса ws-nowrap s-btn s-btn__primary, в примере AppleScript код выше, с bt bt3 bw4 должен работать для вас в этой Google Chrome версии кода , если он работал в Safari версии кода .


Примечания:

• Если существует более одного объекта с тем же именем класса из 'bt bt3 bw4, тогда метод DOM getElementsByClassName() HTML должен иметь правильное значение индекса , если это не [0]. Это может потребовать дополнительного кодирования для программного определения правильного значения , если оно не является постоянным значением , которое вы предоставляете.

• Пример AppleScript код только и не содержит обработки ошибок в зависимости от обстоятельств. Пользователь должен добавить любую обработку ошибок , которая может быть уместной, необходимой или желаемой. Взгляните на оператор try и error оператор в Руководство по языку AppleScript . См. Также Работа с ошибками .

...