0

私は現在、ページの読み込み後にapplescriptコードが各リンクをクリックするように、Webページ上の一連のリンクを繰り返し処理しようとしています。リンクの 1 つをクリックすることはできますが、すべての要素を取得して 1 つずつ反復処理する方法がわかりません。これが私の現在のコードです:

tell application "Safari"

    set theScript to "document.getElementsByClassName('thread_bump')[0].click();"
    do JavaScript theScript in current tab of first window

end tell

上記のコードは、クラス名が「thread_bump」である要素の最初のインスタンスをクリックしますが、最初の要素だけでなく、そのクラス名を持つすべての要素をクリックしたいと考えています。

では、すべての要素を取得してから反復処理する方法はありますか?

4

1 に答える 1

2

これはどう:

tell application "Safari"
    set theScript to "var bumps = document.getElementsByClassName('thread_bump'); for(var i=0;i<bumps.length; i++) bumps[i].click();"
    do JavaScript theScript in current tab of first window
end tell

getElementsByClassName は要素の配列を返すので、それを繰り返すだけです。

于 2013-10-15T04:52:43.063 に答える