Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何使用AppleScript在Safari中实现屏幕点击?_Macos_Safari_Applescript - Fatal编程技术网

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

Macos 如何使用AppleScript在Safari中实现屏幕点击?,macos,safari,applescript,Macos,Safari,Applescript,我正在尝试创建一个脚本,可以点击特定的游戏“水晶骑士” 然后单击“将所有礼品排队” 我使用的是AppleScript,这是我目前所拥有的: tell application "Safari" activate open location "http://apps.facebook.com/gfriendfinder/?ref=bookmarks&count=0" delay 5 tell application "System Events"

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

我使用的是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

我不知道为什么点击功能不起作用。它在正确的位置吗?

首先,它的形式不好,当不需要时,一个tell块在另一个tell块中,可能会导致问题。例如,您告诉safari让系统事件单击,而您不需要让safari这样做。“打开位置”命令或“延迟”命令甚至不需要Safari。所以一般来说,如果应用程序不是必需的,就不要告诉它去做。第二,我发现执行点击在系统事件中不起很多作用。我已经开发了一个鼠标点击命令行工具,可以在发生这种情况时使用。你可以得到它。下载并将其放在桌面上,然后运行此脚本,看看是否有帮助

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专家,所以我不能帮上忙

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"