XPath 选择子节点



我目前正在尝试在子节点上创建一个新的xpath。但它不起作用。

如何存档?

这个想法是:

xpath.select('//*[contains(@class, "product-grid__item")]', doc).forEach(node => {
node = node as Node;
xpath.select('/a /*[contains(@class, "desc-height")] /strong', node).forEach(z => {
z = z as Node;
console.log(z.textContent);
})
})

但是第二个请求不是在节点上选择,而是在文档上选择。

表达式

/a/*[contains(@class, "desc-height")]/strong

是绝对位置路径,它将从每个上下文节点平等地评估。

您需要一个相对位置路径,例如

a/*[contains(@class, "desc-height")]/strong

注意:一些文献总是会向您显示以.缩写语法开头的相对 XPath 表达式,例如./a/*[contains(@class, "desc-height")]/strong。不需要。某些与规范不一致的 XPath 引擎可能只是因为解析这种表达式。

最新更新