【问题标题】:How do you achieve a click on the screen in Safari using AppleScript?如何使用 AppleScript 在 Safari 中点击屏幕?
【发布时间】:2014-06-08 00:17:27
【问题描述】:

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

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

我不确定为什么点击功能不起作用。是在正确的地方吗?

【问题讨论】:

    标签: macos safari applescript


    【解决方案1】:

    首先,这是一种糟糕的形式,当不需要时将一个tell块放在另一个块中可能会导致问题。例如,当您不需要 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 专家,所以对此我无能为力。

    【讨论】:

      猜你喜欢
      • 2021-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-22
      • 1970-01-01
      • 2014-09-15
      • 1970-01-01
      相关资源
      最近更新 更多