我目前正在尝试在子节点上创建一个新的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 引擎可能只是因为解析这种表达式。