Javascript xpath不返回节点
我正在开发一个chrome插件,它可以解析网页并在上面显示一些数据。我一直在使用javascript和浏览dom,但我想切换到xpath 我正在尝试使用XPath来获取正确的节点,这对于某些XPath很好,但是其他XPath由于某种原因(甚至是有效节点的子节点)没有返回节点。我正在从“inspect element”工具中的chromes“Copy xpath”中复制xpath,因此我不认为我输入的xpath是错误的 例如: 这项工作:Javascript xpath不返回节点,javascript,google-chrome,xpath,Javascript,Google Chrome,Xpath,我正在开发一个chrome插件,它可以解析网页并在上面显示一些数据。我一直在使用javascript和浏览dom,但我想切换到xpath 我正在尝试使用XPath来获取正确的节点,这对于某些XPath很好,但是其他XPath由于某种原因(甚至是有效节点的子节点)没有返回节点。我正在从“inspect element”工具中的chromes“Copy xpath”中复制xpath,因此我不认为我输入的xpath是错误的 例如: 这项工作: //*[@id="auctions-sold"] 但这并
//*[@id="auctions-sold"]
但这并不是:
//*[@id="auctions-sold"]/div/table
我的代码如下所示:
var result = document.evaluate('//*[@id="auctions-sold"]/div/table', document, null, 0, null), item;
while (item = result.iterateNext()) {
console.log(item)
}
console.log("done loop")
每当我运行指定表的xpath时,该项都不会被记录,并且控制台已经“完成循环”
每当我运行对“拍卖售出”节点进行分类的xpath时,xpath就会正常工作,控制台会显示该节点并说“完成循环”对我有效:DOM是什么样子的?查看
'/*[@id=“拍卖售出”]/*[local-name()=“div”]/*[local-name()=“table”]
是否有效。如果是这样的话,它就失败了,因为您的HTML文档声明了一个XHTML名称空间(查找xmlns
属性)。是的,helderdarocha的修复工作正常,我使用的页面是“”作为其xmlns属性