我有一个网页,我想使用YQL。但我需要特定项的XPath。我可以看到它在谷歌Chrome的调试工具区域,但我没有看到复制XPath的方法。
是否有复制完整XPath的方法?
我有一个网页,我想使用YQL。但我需要特定项的XPath。我可以看到它在谷歌Chrome的调试工具区域,但我没有看到复制XPath的方法。
是否有复制完整XPath的方法?
当前回答
谷歌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.
其他回答
你可以在Chrome javascript控制台中使用$x。不需要扩展。
例如:$x(“//img”)
此外,web检查器中的搜索框将接受xpath
XPath Helper扩展可以满足您的需要: https://chrome.google.com/webstore/detail/hgimnogjllphhhkhlmebbmlgjoejdpjl
现在chrome中不需要扩展。右键单击任何你想要xpath的元素,然后单击“检查元素”,然后再次在检查器中,右键单击元素,然后单击“复制xpath”。
只需右键单击需要xpath的元素,就会看到一个复制它的菜单项。当OP发布他的帖子时,这可能不存在,但现在肯定存在了。
右键点击节点=> "复制XPath"