Javascript xpath无法返回singleNodeValue
在本页上: 如果进入devtools elements页面并按ctrl+f键选择此xpath:Javascript xpath无法返回singleNodeValue,javascript,xpath,Javascript,Xpath,在本页上: 如果进入devtools elements页面并按ctrl+f键选择此xpath: (//div[@id='lhn-accordion']//a[text()='Shop All'])[2] 它找到一个元素: 在同一个页面上,在devtools控制台终端中,我使用javascript尝试使用相同的xpath获取此元素。 以下代码起作用: document.evaluate("(//div[@id='lhn-accordion']//a[text()='Shop All']
(//div[@id='lhn-accordion']//a[text()='Shop All'])[2]
它找到一个元素:
在同一个页面上,在devtools控制台终端中,我使用javascript尝试使用相同的xpath获取此元素。
以下代码起作用:
document.evaluate("(//div[@id='lhn-accordion']//a[text()='Shop All'])[2]", document,null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
但是为了获得实际的节点值,我在末尾添加了'singleNodeValue()'
document.evaluate("(//div[@id='lhn-accordion']//a[text()='Shop All'])[2]", document,null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).singleNodeValue()
将.singleNodeValue()添加到末尾会导致失败:
Uncaught TypeError: Failed to read the 'singleNodeValue' property from 'XPathResult': The result type is not a single node.
我的javascript语法是否有不正确的地方?.snapshotItem(index)
应该在请求XPathResult.ORDERED\u NODE\u SNAPSHOT\u TYPE时使用,而不是.singleNodeValue()
document.evaluate(
"(//div[@id='lhn-accordion']//a[text()='Shop All'])[2]",
document,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
null
).snapshotItem(0)
// returns needed Node
// <a href="/shop/en/petcostore/category/cat/cat-toys">Shop All</a>
document.evaluate(
“(//div[@id='lhn-accordion']//a[text()='Shop All'])[2]”,
文件,
无效的
XPathResult.ORDERED\u节点\u快照\u类型,
无效的
).snapshotItem(0)
//返回所需的节点
//
可以在MDN上找到解释所有结果类型以及如何使用它们的完整文档您是否有使用XPathResult.ORDERED\u NODE\u SNAPSHOT\u TYPE的特定要求
?