Автоматизация кликов в Applescript в браузере Google Chrome?


9

Привет товарищи программисты!

Я хотел бы сохранить некоторый яблочный код в виде приложения, чтобы при открытии приложения оно переходило в Google Chrome и отвечало на входящий вызов в Google Voice.

Моя учетная запись gmail уже будет открыта в браузере Chrome, поэтому все, что нужно, чтобы приложение appleScript сообщило Google Chrome об активации, а затем щелкните в определенной области (где появится кнопка), чтобы принять вызов.

Как я могу узнать координаты, где я хочу щелкнуть мышью? Потому что я делаю отдельное приложение, чтобы щелкнуть в другом месте и завершить вызов.

Может кто-нибудь сказать мне, как я буду кодировать это в AppleScript? или есть более простой способ?

Следующий код похож на то, что я нашел, и это работает, но я не уверен, где / если он нажимает ...

tell application "Safari" to activate
tell application "System Events"
   tell process "Safari"
   click at {300, 100} -- {from left, from top}
   end tell
end tell

Спасибо за ваше время, -Sebastian

Ответы:


11

Вы также можете щелкнуть элементы с помощью JavaScript:

tell application "Google Chrome" to tell active tab of window 1
    execute javascript "document.getElementById('chrome-web-store-title').click()"
    --execute javascript "document.querySelectorAll('.tile-grid .most-visited')[3].click()"
end tell

Фокусировка существующей вкладки по URL:

tell application "Google Chrome"
    repeat with w in windows
        set i to 1
        repeat with t in tabs of w
            if URL of t starts with "https://mail.google" then
                set active tab index of w to i
                set index of w to 1
                return
            end if
            set i to i + 1
        end repeat
    end repeat
end tell

2

Похоже, что он нажимает на 300 пикселей вправо и на 100 пикселей вниз от верхнего левого угла. (Я не уверен, что это верхний левый угол экрана или окна Safari ...) Вы можете узнать, где это, нажав Shift- Command- 4, затем двигая перекрестие, пока верхнее число не станет 300, и нижнее число 100. Вы можете избавиться от перекрестия, нажав escape. Затем вы можете определить, где вам действительно нужно щелкнуть сценарий, и изменить числа в сценарии, чтобы они соответствовали.


1
Спасибо за этот ярлык, daviewales! Единственная проблема заключается в том, что щелчок работает только в пределах самого БРАУЗЕРА ... так как я могу щелкнуть и открыть новую вкладку, щелкнуть файл, обновить кнопку, но НЕ любую кнопку на реальном веб-сайте. Любые решения?
seba1685

Я только что проверил его и обнаружил, что могу заставить его нажимать на электронные письма в Gmail и кнопки на главной странице Google, но я не могу заставить его нажимать ни на одну из кнопок в окне Google Talk.
daviewales

1

Это легко, вы можете сделать это за пять шагов!

  1. открыть редактор appleScript

  2. щелчок Record

  3. откройте Finder и активируйте Google Chrome

  4. нажмите Stopили кружок с шестиугольником перед ним

  5. нажмите Cmd+ Sи появится окно - сохраните ваш скрипт как приложение и щелкните по кругу со словами «запуск» рядом с ним

Эпилог: перезагрузите Mac и наблюдайте, как Chrome выглядит как волшебство!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.