我有一个要与YQL一起使用的网页。但是我需要特定项目的XPath。我可以在Google Chrome的调试工具区域中看到它,但没有找到复制该XPath的方法。
有没有办法复制完整的XPath?
我有一个要与YQL一起使用的网页。但是我需要特定项目的XPath。我可以在Google Chrome的调试工具区域中看到它,但没有找到复制该XPath的方法。
有没有办法复制完整的XPath?
Answers:
您可以$x
在Chrome JavaScript控制台中使用。无需扩展。
例如: $x("//img")
Web检查器中的搜索框也将接受xpath
Ctrl+Space
不能揭示$x
。如果您只键入内容$x
,就可以看到它是如何实现的,因此OP应该能够确定如何实现他们想要的目标。例如; document.evaluate('//h1', document, null, XPathResult.STRING_TYPE, null).stringValue
右键单击节点=>“复制XPath”
XPath Helper扩展程序可以满足您的需求:https : //chrome.google.com/webstore/detail/hgimnogjllphhhkhlmebbmlgjoejdpjl
chrome现在不需要扩展程序。右键单击想要xpath的任何元素,然后单击“检查元素”,然后再次在检查器中,右键单击元素,然后单击“复制Xpath”。
Google Chrome浏览器开箱即用提供了一个内置的调试工具,称为“ Chrome DevTools ”,其中包括一个方便的功能,该功能可以评估或验证XPath / CSS选择器,而无需任何第三方扩展。
这可以通过两种方法来完成:
使用“元素”面板中的搜索功能可以评估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 。
输入喜欢$$("header")
评估和验证的CSS选择器。
检查从控制台执行返回的结果。
如果元素匹配,它们将以列表形式返回。否则,将显示一个空列表[]。
$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:
1-在浏览器中打开网站
2-选择元素并右键单击它
3-单击检查元素选项
4-右键单击选定的HTML
5-选择复制xpath的选项
该视频链接将对您有所帮助。 http://screencast.com/t/afXsaQXru
注意:对于xpath的高级选项,您必须知道regex或html模式。
$x('//*[@id="answer-33492958"]/table/tbody/tr[1]/td[1]/div/a[1]')[0].click();
xpathOnClick提供了您所需要的东西:https ://chrome.google.com/extensions/detail/ikbfbhbdjpjnalaooidkdbgjknhghhbo
尽管阅读注释,但实际上需要三下单击才能获得xpath。
以Chrome为例,例如:
一个。为此,通过打开浏览器的“元素”面板,按CTRL + F,粘贴XPath。
b。如以下示例中所述进行更改。
绝对xpath = // * [@@ =“ =” app“] / div [1] / header / nav / div [2] / ul / li [2] / div / button
相关xpath = // div // nav / div [2] / ul / li [2] / div / button
进行更改时:
只需右键单击想要xpath的元素,您将看到一个菜单项来复制它。当OP担任职务时,这可能并不存在,但现在肯定存在。