AppleScript在safari错误中单击按钮

时间:2013-03-22 02:43:07

标签: macos button safari applescript automator

我正在尝试使用applescript在网页上点击Safari中的一个简单按钮。我有以下代码:

tell application "Safari"
    activate
    repeat 5 times
        do JavaScript "document.all(\"Roll Again\").click()" in document 1
        delay 2
    end repeat
end tell

但是,当我运行此代码时,出现错误:“缺少值”。事件日志显示以下结果:

tell application "Safari"
    activate
    do JavaScript "document.all(\"Roll Again\").click()" in document 1
        --> missing value
    do JavaScript "document.all(\"Roll Again\").click()" in document 1
        --> missing value
    do JavaScript "document.all(\"Roll Again\").click()" in document 1
        --> missing value
    do JavaScript "document.all(\"Roll Again\").click()" in document 1
        --> missing value
    do JavaScript "document.all(\"Roll Again\").click()" in document 1
        --> missing value
end tell

有人可以告诉我为什么没有按下按钮以及缺失值是什么意思?是否有另一种更简单的方法来实现按钮按下?我可以使用automator按下按钮,但我想使用AppleScript。

P.S。 document是safari中的当前窗口

1 个答案:

答案 0 :(得分:0)

document.all特定于IE,在Safari中不起作用。尝试使用getElementById或querySelectorAll:

tell application "Safari"
    activate
    tell document 1
        do JavaScript "document.getElementById(\"nav-badges\").click()"
        delay 5
        do JavaScript "document.querySelectorAll(\"#hmenus a\")[0].click()"
    end tell
end tell