1
<ul class="myList clearfix" id="thismyList">
    <li class="myBullet" id="answer1">blabla1</li>
    <li class="myBullet" id="answer2">blabla2</li>
    <li class="myBullet" id="answer3">blabla3</li>
</ul>

このページで、アイテムを自動的にクリックするにはどうすればよいblabla2ですか?

4

1 に答える 1

2

最短かつ最も強力なのは、おそらくXPathの方法です (ちなみに、これは実際には非常に優れた有用な読み物である数少ない w3 仕様の 1 つです)。ほぼすべての条件を設定できます。

var xresult = document.evaluate("//*[text()='blabla2']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
xresult.singleNodeValue.click();

evaluate()click()

JavaScript での XPath の詳細については、このドキュメントを参照してください。


非 XPath の方法は、すべてのノードを手動で調べて、正しいテキストを含む最初のノードを検索することです。

var findElem = function(elems, text) {
    for (var i = 0; i < elems.length; i++) {
        if (elems[i].textContent == text) {
            return elems[i];
        } else {
            var result = findElem(elems[i].children, text);
            if (result != undefined) {
                return result;
            }
        }
    }
    return;
}

findElem(document.documentElement.children, "blabla2").click();
于 2012-06-10T19:26:37.017 に答える