Cómo obtener elemento por texto interno
Cómo obtener una etiqueta en una página html, si sé qué etiqueta de texto contiene. P.ej:
<a ...>SearchingText</a>
Aceptado
Podrías usar XPath para lograr esto.
var xpath = "//a[text()='SearchingText']";
var matchingElement = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
También puedes buscar un elemento que contenga texto usando este xpath:
var xpath = "//a[contains(text(),'Searching')]";
Tendrás que atravesar a mano.
var aTags = document.getElementsByTagName("a");
var searchText = "SearchingText";
var found;
for (var i = 0; i < aTags.length; i++) {
if (aTags[i].textContent == searchText) {
found = aTags[i];
break;
}
}
// Use `found`.