我有一个网页,我想使用YQL。但我需要特定项的XPath。我可以看到它在谷歌Chrome的调试工具区域,但我没有看到复制XPath的方法。
是否有复制完整XPath的方法?
我有一个网页,我想使用YQL。但我需要特定项的XPath。我可以看到它在谷歌Chrome的调试工具区域,但我没有看到复制XPath的方法。
是否有复制完整XPath的方法?
XPath Helper扩展可以满足您的需要: https://chrome.google.com/webstore/detail/hgimnogjllphhhkhlmebbmlgjoejdpjl
有点超时,但也许有用:在Mac Chrome上,虽然你不能从Dev工具面板的搜索框中复制xpath(相反,复制抓取节点为HTML),但你可以将文本拖放到外部编辑器中。
让我们告诉你一个简单的公式来找到任何元素的xpath:
1-在浏览器打开网站
2-选择元素并右键单击它
3-单击检查元素选项
4-右键单击所选的html
5-选择选项复制xpath使用它的任何地方,你需要它
这个视频链接会对你有帮助。 http://screencast.com/t/afXsaQXru
注意:对于xpath的高级选项,你必须知道你的html的正则表达式或模式。
以上所有答案都是正确的,这里还有一种截图的方法。
来自Chrome:
右键单击要查找xpath的项上的“inspect” 右键单击控制台上高亮显示的区域。 复制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浏览器,例如:
右键单击要查找XPath的项上的“inspect”。 右键单击HTML DOM上突出显示的区域。 复制>选择“复制XPath”。 完成上述步骤后,您将从DOM获得元素的绝对XPath。 您可以进行更改,使其成为相对XPath(因为如果DOM发生更改,XPath仍然能够找到该元素)。
a.为此,打开浏览器的“元素”面板,按CTRL+F,粘贴XPath。
b.按照如下示例进行修改。
绝对的xpath = / / * [@ id = "应用"]/ div[1] /头/导航/ div [2] / ul /李[2]/ div /按钮
相关xpath = //div//nav/div[2]/ul/li[2]/div/按钮
当你进行更改时:
确保XPath在DOM中是唯一的。 仍然在DOM和网页上选择web元素。