$x()
ist nicht Teil der Laufzeitumgebung einer Webseite oder eines Inhaltsskripts. Es ist ein Werkzeug, das Teil von the Command Line API for Chrome's DevTools ist.
Um XPath in einem Inhaltsskript zu verwenden, müssen Sie es auf die normale Weise tun, die DevTools-bequeme Verknüpfung ist nicht verfügbar.
Ihr Code würde wie folgt aussehen:
var jpgLinks = document.evaluate (
"//a[contains(@href,'.jpg')]",
document,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
null
);
var numLinks = jpgLinks.snapshotLength;
for (var J = 0; J < numLinks; ++J) {
var thisLink = jpgLinks.snapshotItem (J);
console.log ("Link ", J, " = ", thisLink);
}
- was die Art der Sache ist, dass $x()
für Sie tat, hinter den Kulissen.
Während Sie gerade dabei sind, sollten Sie auf CSS selectors umstellen. Dann ist die gleiche Funktionalität:
var jpgLinks = document.querySelectorAll ("a[href$='.jpg']");
var numLinks = jpgLinks.length;
for (var J = 0; J < numLinks; ++J) {
var thisLink = jpgLinks[J];
console.log ("Link ", J, " = ", thisLink);
}
- das ist viel schmackhafter in meinem Buch.
Tipp: Geben Sie 'debugger;' in die Konsole ein. –
Etwas verwirrt, was für zusätzliche Informationen, die mir offenbaren? – rutherford
Probieren Sie es einfach aus. Sie hätten http://i.stack.imgur.com/AXRPG.png –