2013-03-22 70 views
1

我試圖在使用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

回答

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