1

applescriptを使用してWebページを表示しているときに、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を使用してボタンを押したいと思います。

PSドキュメントはサファリの現在のウィンドウです

4

1 に答える 1

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
于 2013-03-23T12:14:28.217 に答える