Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript xpath无法返回singleNodeValue_Javascript_Xpath - Fatal编程技术网

Javascript xpath无法返回singleNodeValue

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']

在本页上: 如果进入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'])[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的特定要求