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


9

Привіт колеги-програмісти!

Я хотів би зберегти якийсь код яблучного коду як додаток, щоб після відкриття програми він перейшов до Google Chrome і відповість на вхідний дзвінок у Google Voice.

У мене в обліковому записі Chrome буде відкрито свій акаунт gmail, тому все, що потрібно, - це програма, що дозволяє аплебудувати скрипт, щоб повідомити google chrome, щоб активуватись, а потім натисніть певну область (де відображатиметься кнопка), щоб прийняти виклик.

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

Хтось може сказати мені, як я кодував би це в яблучному скрипті? чи є простіший спосіб?

Наступний код схожий на те, що я знайшов, і він працює, але я не впевнений, де / якщо він клацає ...

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

Дякую за ваш час, -Себастьян

Відповіді:


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! Єдине питання полягає в тому, що натискання, здається, працює лише у царинах самого BROWSER ... як і колись, я можу натиснути та відкрити нову вкладку, натиснути файл, кнопку оновлення, але НЕ жодну кнопку на фактичному веб-сайті. Будь-які рішення?
seba1685

Я просто перевірив це, і виявив, що можу змусити його натискати на електронні листи в Gmail та кнопки на домашній сторінці Google, але я не зміг змусити його натиснути жодну з кнопок у вікні Google Talk.
daviewales

1

Це легко, ви можете зробити це за п’ять кроків!

  1. відкритий редактор яблучного сценарію

  2. клацніть Record

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

  4. клацання Stopабо коло з шестикутником перед ним

  5. натисніть Cmd+ Sі з'явиться вікно - збережіть свій скрипт як додаток і натисніть коло зі словами "запуск" поруч

Епілог: перезавантажте свій Mac і дивіться, як Chrome виглядає як магія!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.