最短かつ最も強力なのは、おそらく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();