如何使用AppleScript在Safari中点击屏幕?

时间:2011-03-11 07:24:37

标签: macos safari applescript

我正在尝试创建一个脚本,点击特定游戏“水晶骑士” 然后点击“排队所有礼物”

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 个答案:

答案 0 :(得分:2)

首先,它是不好的形式,并且可能会导致问题,因为在不需要时将一个告诉块放在另一个内部。例如,当你不需要使用safari时,你告诉safari告诉系统事件点击。 “打开位置”命令或“延迟”命令甚至不需要Safari。因此,一般情况下,如果不需要,请不要告诉应用程序执行某些操作。其次,我发现执行点击对系统事件不起作用很多次。我开发了一个鼠标单击命令行工具,以便在发生这种情况时使用。你可以得到它here。下载并将其放在桌面上,然后运行此脚本,看看是否有帮助。

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专家,所以我无法帮助你。