Applescript迭代HTML页面的元素

时间:2013-10-15 04:20:34

标签: javascript applescript

我目前正在尝试迭代网页上的一堆链接,这样我的AppleScript代码会在页面加载后点击每个链接。我可以点击其中一个链接,但我不知道如何获取所有元素,然后逐个迭代它们。这是我目前的代码:

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”的元素的第一个实例,但我想点击具有该类名的所有元素,而不仅仅是第一个。

那么,有没有办法获取所有元素然后迭代它们?

1 个答案:

答案 0 :(得分:1)

这个怎么样:

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返回一个元素数组,所以你只需要迭代它。