AppleScript单击safari错误中的按钮

问题描述:

我试图在使用applescript的网页上单击safari中的简单按钮。我有以下代码:AppleScript单击safari错误中的按钮

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

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.文档是Safari中的当前窗口

+0

请包含网址。 – adayzdone 2013-03-22 02:48:04

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