Как добиться щелчка по экрану в Safari с помощью AppleScript? - PullRequest
1 голос
/ 11 марта 2011

Я пытаюсь создать скрипт, который будет нажимать на конкретную игру «Рыцари кристаллов», затем нажимать «Очередь все подарки»

while loop forever

then click "accept"
then do keyboard command "command w"
then wait 5 seconds

Я использую AppleScript, и это то, что у менядалеко:

tell application "Safari"
    activate
    open location "http://apps.facebook.com/gfriendfinder/?ref=bookmarks&count=0"
    delay 5
    tell application "System Events"
        click at {750, 550}
    end tell
end tell

Я не уверен, почему не работает функция щелчка мышью.Это в правильном месте?

1 Ответ

2 голосов
/ 11 марта 2011

Во-первых, это дурной тон и может вызвать проблемы, если один блок рассказать внутри другого, когда он не нужен. Например, вы говорите safari, что нужно сообщать системным событиям, когда вам не нужно это делать. Safari даже не требуется для команды «open location» или «delay». Поэтому в общем случае не говорите приложению что-либо делать, если это не требуется. Во-вторых, я обнаружил, что выполнение кликов не работает много раз с системными событиями. Я разработал инструмент командной строки, щелкающий мышью, чтобы использовать его, когда это произойдет. Вы можете получить это здесь . Загрузите его и поместите на рабочий стол, затем запустите этот скрипт и посмотрите, поможет ли это.

set mouseToolsPath to (path to desktop as text) & "MouseTools"
open location "http://apps.facebook.com/gfriendfinder/?ref=bookmarks&count=0"
delay 5
tell application "Safari" to activate
do shell script quoted form of POSIX path of mouseToolsPath & " -x 750 -y 550 -leftClick"

Еще одной идеей было бы изучить javascript, потому что Safari понимает javascript, и вы, вероятно, можете нажимать кнопки на веб-странице Safari с этим. Я не эксперт по JavaScript, поэтому не могу с этим поделать.

...