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

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


当前回答

让我们告诉你一个简单的公式来找到任何元素的xpath:

1-在浏览器打开网站

2-选择元素并右键单击它

3-单击检查元素选项

4-右键单击所选的html

5-选择选项复制xpath使用它的任何地方,你需要它

这个视频链接会对你有帮助。 http://screencast.com/t/afXsaQXru

注意:对于xpath的高级选项,你必须知道你的html的正则表达式或模式。

其他回答

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

有点超时,但也许有用:在Mac Chrome上,虽然你不能从Dev工具面板的搜索框中复制xpath(相反,复制抓取节点为HTML),但你可以将文本拖放到外部编辑器中。

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

首先打开你的谷歌Chrome浏览器

打开任何网站

检查一下

谷歌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.