我已经复制了Chrome返回的某个节点的xpath
// * [@ id =“ __ w2_cEfEsuQ_list_item”] / div / div [2] / div / div [1] / div [2] / a [1]
在Chrome的控制台中执行此操作会返回
[a]
0: a
length: 1
__proto__: Array(0)
0可以扩展并包含许多子节点(我删除了大部分子节点,因为SO抱怨我的问题中的代码太多),如下所示:
accessKey: ""
tagName: "A"
target: ""
text: "38 Answers"
textContent: "38 Answers"
title: ""
translate: true
type: ""
username: ""
我想要一个返回textContent
和text
节点的xpath。我在//*[@id="__w2_cEfEsuQ_list_item"]/div/div[2]/div/div[1]/div[2]/a[1]/text()
上尝试了其他变体,但没有一个奏效。我该怎么办?
答案 0 :(得分:0)
Chrome控制台确实具有only XPath 1.0。
尽管如此,获取text()
应该可以正常工作。
要直接从Chrome的控制台在当前页面上运行XPath查询,
F12
,cmd-opt-J
),然后$x("")
内并运行它。如果要打印控制台中定位器找到的所有文本元素(或执行其他操作),只需调用.forEach
$x('//*[@id="__w2_cEfEsuQ_list_item"]/div/div[2]/div/div[1]/div[2]/a[1]/text()').forEach(function (item) {
console.log(item);});
或使用索引$x("//p/text()")[0]