In JavaScript gibt es keine integrierte Methode, um alle XPath-Ergebnisse als Array zu erhalten. Zum Beispiel können Sie bei CSS-Selektoren die Methode “querySelectorAll” verwenden, aber für XPath gibt es so etwas nicht.
Der folgende Code definiert dies, und Verwendungsbeispiele werden unten gezeigt.
function getElementsByXPath(xpath, parent)
{
let results = [];
let query = document.evaluate(xpath,
parent || document,
null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for (let i=0, length=query.snapshotLength; i<length; ++i) {
results.push(query.snapshotItem(i));
}
return results;
}
getElementsByXPath('/html/body//h2')[0].innerText;
getElementsByXPath('/html/body//h2')[1].innerText;