如何在Chrome开发者工具或Firefox的Firebug中验证XPath表达式?

use*_*242 164 firefox selenium xpath google-chrome selenium-webdriver

我该如何验证我的XPath?

我正在使用Chrome Developers工具检查元素并形成我的XPath.我使用Chrome插件XPath Checker验证它,但它并不总能给我结果.什么是验证我的XPath的更好方法.

我也尝试使用Firebug来检查错误并使用FirePath进行验证.但Firepath还验证了XPath.

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

Yi *_*eng 341

这可以通过三种不同的方法(参见我的博客文章来实现这里有详细介绍):

  • Elements下面的面板中搜索
  • 执行$x()$$()Console面板中,如劳伦斯的回答所示
  • 第三方扩展(在大多数情况下不是非常必要的,可能是一种过度杀伤)

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

  1. 按下F12即可打开Chrome Developer Tool
  2. 在"元素"面板中,按Ctrl+F
  3. 在搜索框中,键入XPath或CSS Selector,如果找到元素,它们将以黄色突出显示.

在此输入图像描述

火狐

  1. 从Firefox菜单中的Web Developer子菜单中选择"Web Console"(如果显示菜单栏或在Mac OS X上,则选择Tools菜单)
    或按Ctrl+ Shift+ K(OS X上的Command+ Option+ K)键盘快捷键.
  2. 在底部的命令行中使用以下内容:

    • $():返回匹配的第一个元素.相当于document.querySelector()或调用$页面中的函数(如果存在).

    • $$():返回匹配的DOM节点数组.这就像是document.querySelectorAll(),但返回一个数组而不是一个数组NodeList.

    • $x():计算XPath表达式并返回匹配节点的数组.


Firefox(之前的版本49)

  1. 安装Firebug
  2. 安装Firepath
  3. 按下F12打开Firebug
  4. 切换到FirePath面板
  5. 在下拉列表中,选择XPathor CSS
  6. 输入以查找

在此输入图像描述

  • 答案需要Firefox的更新.不幸的是,Firebug已经过时,并已合并到开发人员工具中.目前,您可以在Console中测试xpath表达式,例如`$("// div")` (3认同)
  • 只是对XPath和浏览器发出一个警告,因为这会引起很多混乱:http://stackoverflow.com/questions/18241029/why-does-my-xpath-query-scraping-html-tables-only-work-in-萤火虫,但并非该 (2认同)
  • @user1177636:你用什么软件生成这些GIF? (2认同)

bos*_*jak 49

您可以在Chrome和Firefox中打开控制台,并通过键入来检查XPath Console.这将返回一组匹配的值.如果它为空,则表示页面上没有匹配项.

例如:

在此输入图像描述

更新(2016年3月):
Chromium v​​48的新屏幕截图:

*在此输入图像描述

  • 此方法现在也可以在firefox控制台中使用 (3认同)
  • @djangofan,你是什么意思?根据该逻辑,这两个答案虽然正确,但根据您的逻辑是不必要的。 (2认同)

Eng*_*r T 15

通过使用chrome或Opera

没有任何插件,没有编写任何单个XPath语法字符

  1. 右键单击所需的元素,然后"检查"
  2. 右键单击突出显示的元素标签,选择"复制">"复制Xpath".

;)

在此输入图像描述

  • 这并没有真正回答这个问题。它不是验证现有的 xpath,而是生成一个。当存在更好的解决方案时,Chrome 生成的解决方案通常很丑陋且非常脆弱。 (3认同)
  • 对于Chrome,这是我见过的最佳解决方案.感谢分享.当我不想使用Firefox时,可以更轻松地在Chrome中进行确认. (2认同)