Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 如何在Chrome开发者工具或Firefox的Firebug中验证XPath表达式?_Google Chrome_Firefox_Selenium_Xpath_Selenium Webdriver - Fatal编程技术网

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

Google chrome 如何在Chrome开发者工具或Firefox的Firebug中验证XPath表达式?,google-chrome,firefox,selenium,xpath,selenium-webdriver,Google Chrome,Firefox,Selenium,Xpath,Selenium Webdriver,如何验证XPath 我正在使用Chrome开发者工具检查元素并形成XPath。我使用Chrome插件XPath检查器验证它,但是它并不总是给出结果。验证XPath的更好方法是什么 我也尝试过使用Firebug来检查bug,也尝试过使用FirePath来验证。但是Firepath也验证XPath 我的最后一个选择是使用SeleniumWebDriver来确认我的XPath 您可以在Windows或CMD+I Mac上用CTRL+I在Chrome中打开DevTools,在F12上用Firefox打开

如何验证XPath

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

我也尝试过使用Firebug来检查bug,也尝试过使用FirePath来验证。但是Firepath也验证XPath


我的最后一个选择是使用SeleniumWebDriver来确认我的XPath

您可以在Windows或CMD+I Mac上用CTRL+I在Chrome中打开DevTools,在F12上用Firefox打开DevTools,然后选择Console选项卡,并在此处键入$xyour\u XPath\u来检查XPath。 这将返回匹配值的数组。如果为空,则表示页面上没有匹配项

Firefox v66 2019年4月: Chrome v69 2019年4月: 铬 这可以通过三种不同的方法实现。更多详细信息,请参阅我的博客文章:

在元素面板中搜索,如下所示 在控制台面板中执行$x和$$,如Lawrence的 在大多数情况下,第三方扩展并不是真正必要的,这可能是一种过度的杀伤力 以下是如何在“元素”面板中搜索XPath:

按F12打开Chrome开发者工具 在“图元”面板中,按Ctrl+F组合键 在搜索框中,键入XPath或CSS选择器,如果找到元素,它们将以黄色突出显示。 Firefox自版本75起 由于FF 75可以使用原始xpath查询,而不需要计算xpath表达式,有关更多信息,请参阅

Firefox早期版本75 从中的Web Developer子菜单中选择Web控制台 Firefox菜单或工具菜单(如果您显示菜单栏或在Mac OS X上) 或者按OSX键盘快捷键上的Ctrl+Shift+K命令+Option+K。 在底部的命令行中,使用以下命令:

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

$$:返回匹配的DOM节点数组。这与document.querySelectorAll类似,但返回一个数组而不是节点列表

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

Firefox早期版本49 安装 安装 按F12打开Firebug 切换到壁炉面板 在下拉列表中,选择XPathor CSS 键入以查找
检查xpath的另一个选项是使用selenium IDE

安装Firefox Selenium IDE 在FireFox中打开应用程序并打开IDE 在IDE中的新行上,将xpath粘贴到目标并单击 发现相应的元素将在 应用 通过使用Chrome或Opera

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

右键单击所需的图元,然后检查 右键单击高亮显示的元素标记,选择“复制”→ 复制XPath。 )


我使用验证XPath和CSS选择器

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


在XPath和浏览器上只有一个警告,因为这会导致很多混乱:@JensErat:真的很好。对于阅读此评论的其他人,如该问题中所述,Selenium不受影响,因为它驱动浏览器,并使用与开发工具相同的底层JavaScript评估技术。@user1177636:您使用什么软件生成这些GIF?如果您也需要XQuery的本地解析器,我发现BaseX:Answer需要对Firefox进行更新。不幸的是,Firebug已经过时,并且已经被合并到开发人员工具中。目前,您可以在控制台中测试xpath表达式,例如$//div此方法并不理想,但最好知道,因为您在控制台中编写的任何xpath表达式都可以由Selenium中的JavascriptExecutor执行。有时候你可以把它作为一种解决办法,也许是在Firefox本机事件被禁用时?@djangofan,你是什么意思?根据该逻辑,这两个答案虽然正确,但在您的逻辑中是不必要的。@bosnjak在控制台$x//input[@name='q']中尝试此操作时,我得到了VM251:1未捕获类型错误:$x不是位于:1:1@YasserKhalil您正在使用哪个浏览器,哪个版本?你在哪个网站上做这个?对于Chrome来说,这是我见过的最好的解决方案。谢谢分享。当我不想使用Firefox时,更容易在Chrome中进行确认。我已经使用它获得了巨大的好处。但一个大问题是,有时上下文菜单被禁用或覆盖。然后你必须依靠其他方法。这并不能真正回答问题。它不是在验证现有的xpath,而是在生成一个xpath。当一个更好的解决方案存在时,Chrome生成的链接通常是丑陋和脆弱的。