如何验证我的XPath?

我使用Chrome开发者工具检查元素并形成我的XPath。我验证它使用Chrome插件XPath检查器,但它并不总是给我的结果。验证XPath的更好方法是什么?

我还尝试使用Firebug检查bug,并使用FirePath进行验证。但是Firepath也验证XPath吗?

我的最后一个选择是使用Selenium WebDriver来确认XPath。


当前回答

检查xpath的另一个选项是使用selenium IDE。

安装Firefox Selenium IDE 在FireFox中打开应用程序,然后打开IDE 在IDE中,在新行中,将xpath粘贴到目标,然后单击 找到。相应的元素将在 应用程序

其他回答

检查xpath的另一个选项是使用selenium IDE。

安装Firefox Selenium IDE 在FireFox中打开应用程序,然后打开IDE 在IDE中,在新行中,将xpath粘贴到目标,然后单击 找到。相应的元素将在 应用程序

这可以通过三种不同的方法来实现(更多细节请参阅我的博客文章):

在元素面板中搜索,如下所示 在控制台面板中执行$x()和$$(),如Lawrence的回答所示 第三方扩展(在大多数情况下不是真正必要的,可能是多余的)

下面是在Elements面板中搜索XPath的方法:

按F12打开Chrome开发工具 在元素面板中,按Ctrl+F 在搜索框中,输入XPath或CSS选择器,如果找到元素,它们将以黄色突出显示。

Firefox(75版起)

自FF 75以来,可以使用原始xpath查询而不计算xpath表达式,更多信息请参阅文档。

Firefox(旧版75)

Either select "Web Console" from the Web Developer submenu in the Firefox Menu (or Tools menu if you display the menu bar or are on Mac OS X) or press the Ctrl+Shift+K (Command+Option+K on OS X) keyboard shortcut. In the command line at the bottom use the following: $(): Returns the first element that matches. Equivalent to document.querySelector() or calls the $ function in the page, if it exists. $$(): Returns an array of DOM nodes that match. This is like for document.querySelectorAll(), but returns an array instead of a NodeList. $x(): Evaluates an XPath expression and returns an array of matching nodes.


Firefox(旧版本49)

安装Firebug 安装Firepath 按F12打开Firebug 切换到FirePath面板 在下拉菜单中,选择XPathor CSS 输入定位

你可以在Windows下用CTRL+I打开Chrome中的DevTools(或CMD+I Mac),用F12打开Firefox,然后选择控制台选项卡),并输入$x("your_xpath_here")检查XPath。 这将返回一个匹配值的数组。如果它为空,您就知道该页上没有匹配项。

Firefox v66(2019年4月):

Chrome v69(2019年4月):

使用Chrome或Opera

无需任何插件,无需编写任何XPath语法字符

右键单击所需元素,然后“inspect” 右键单击突出显示的元素标签,选择复制→复制XPath。

;)

我验证XPath和CSS选择器使用WebSync Chrome扩展。

它提供了验证选择器以及通过单击元素属性生成/修改选择器的可能性。

https://chrome.google.com/webstore/detail/natu-websync/aohpgnblncapofbobbilnlfliihianac