如何验证我的XPath?
我正在使用Chrome开发者工具检查元素并生成XPath。我使用Chrome插件XPath Checker进行验证,但它并不总是给我结果。有什么更好的方法来验证我的XPath?
我还尝试使用Firebug检查错误,并使用FirePath进行验证。但是Firepath是否也可以验证XPath。
最后选择使用Selenium WebDriver来确认我的XPath。
如何验证我的XPath?
我正在使用Chrome开发者工具检查元素并生成XPath。我使用Chrome插件XPath Checker进行验证,但它并不总是给我结果。有什么更好的方法来验证我的XPath?
我还尝试使用Firebug检查错误,并使用FirePath进行验证。但是Firepath是否也可以验证XPath。
最后选择使用Selenium WebDriver来确认我的XPath。
可以通过以下三种不同的方法实现 (更多细节请参见我的博客文章这里):
Elements
面板中搜索,如下所示Console
面板中执行$x()
和$$()
,如Lawrence的答案所示以下是在Elements
面板中搜索XPath的方法:
自FF 75版以来,可以使用原始XPath查询而不是评估XPath表达式,请参见文档了解更多信息。
在底部的命令行中使用以下内容:
$()
:返回匹配的第一个元素。相当于 document.querySelector()
或在页面中调用 $
函数(如果存在)。
$$()
:返回匹配的 DOM 节点数组。类似于 document.querySelectorAll()
,但返回一个数组而不是 NodeList
。
$x()
:评估 XPath 表达式并返回匹配的节点数组。
$x("//input[@name='q']")
时,我得到了 VM251:1 Uncaught TypeError: $x is not a function at <anonymous>:1:1
的错误。 - YasserKhalil元素的XPath表达式。结果是一个数组,被馈送进forEach方法,从中我们修改元素的backgroundColor属性。
注意: 该方法在打开本地的XML文档时存在问题,因为浏览器会应用默认样式表以使用漂亮的颜色查看XML文档,并提供折叠和展开文档的功能;这实际上将XML文档包装在div或span标记中,从而破坏了原始的XML文档,使得此技术有些无用。我使用WebSync Chrome扩展程序来验证XPath和CSS选择器。
它提供了验证选择器的可能性,也可以通过单击元素属性来生成/修改选择器。
https://chrome.google.com/webstore/detail/natu-websync/aohpgnblncapofbobbilnlfliihianac
$("//div")
。 - derloopkat$$()
函数无法使用XPath。 - xgqfrms