我有一个网页,我想使用YQL。但我需要特定项的XPath。我可以看到它在谷歌Chrome的调试工具区域,但我没有看到复制XPath的方法。

是否有复制完整XPath的方法?


当前回答

只需右键单击需要xpath的元素,就会看到一个复制它的菜单项。当OP发布他的帖子时,这可能不存在,但现在肯定存在了。

其他回答

谷歌Chrome提供了一个内置的调试工具,称为“Chrome DevTools”开箱即用,其中包括一个方便的功能,可以计算或验证XPath/CSS选择器,而不需要任何第三方扩展。

这可以通过两种方法来实现:

使用Elements面板中的搜索函数计算XPath/CSS选择器并突出显示DOM中的匹配节点。 在控制台面板中执行令牌$x("some_xpath")或$$("css-selectors"),这将计算和验证。

从元素面板

按F12打开Chrome DevTools。 元素面板默认是打开的。 按Ctrl + F在面板中启用DOM搜索。 输入要计算的XPath或CSS选择器。 如果有匹配的元素,它们将在DOM中高亮显示。 但是,如果DOM中有匹配的字符串,它们也将被视为有效的结果。例如,CSS选择器头应该匹配所有包含单词头的内容(内联CSS,脚本等),而不是只匹配元素。

从控制台面板

按F12打开Chrome DevTools。 切换到控制台面板。 输入像$x(".//header")这样的XPath来计算和验证。 输入CSS选择器,如$$(“header”)来计算和验证。 检查控制台执行返回的结果。

如果元素匹配,它们将以列表形式返回。否则显示一个空列表[]。

$x(".//article")
[<article class="unit-article layout-post">…</article>]

$x(".//not-a-tag")
[ ]

如果XPath或CSS选择器无效,则会以红色文本显示异常。例如:

$x(".//header/")
SyntaxError: Failed to execute 'evaluate' on 'Document': The string './/header/' is not a valid XPath expression.

$$("header[id=]")
SyntaxError: Failed to execute 'querySelectorAll' on 'Document': 'header[id=]' is not a valid selector.

只需右键单击需要xpath的元素,就会看到一个复制它的菜单项。当OP发布他的帖子时,这可能不存在,但现在肯定存在了。

右键点击节点=> "复制XPath"

现在chrome中不需要扩展。右键单击任何你想要xpath的元素,然后单击“检查元素”,然后再次在检查器中,右键单击元素,然后单击“复制xpath”。

以上所有答案都是正确的,这里还有一种截图的方法。

来自Chrome:

右键单击要查找xpath的项上的“inspect” 右键单击控制台上高亮显示的区域。 复制xpath