我可以在Google Chrome控制台中使用XPath查询:
a = $x('my/path')
但是,如果我想找到一个相对于另一个对象的XPath呢? E.g:
b = a.$x('my/path')
(不起作用),还:
b = $x('my/path', a)
失败:NotSupportedError: Failed to execute 'evaluate' on 'Document': The context node provided is null.
有人知道如何在Google Chrome浏览器的开发者控制台中评估相关XPath吗?
答案 0 :(得分:4)
评估$x
返回...
function $x(xpath, [startNode]) { [Command Line API] }
因此,语法为$x('my/path', a)
。
重要的是,$x
返回一个数组,但startNode
需要一个DOM节点,因此您必须获取第一个查询的元素。以下示例演示了当前页面上的行为。
a = $x("//*[@id='question-header']")
> [ <div id="question-header">…</div> ]
b = $x(".//*[@href]/text()", a[0])
> [ "XPath queries in Google Chrome console" ]
更新:以下是documentation。