有没有办法在谷歌浏览器中获取xpath?

时间:2010-06-12 23:30:38

标签: google-chrome google-chrome-extension

我有一个我想要与YQL一起使用的网页。但我需要特定项目的xpath。我可以在调试工具区域看到谷歌浏览器,但我没有看到复制该xpath的方法。

有没有办法复制完整的xpath?

18 个答案:

答案 0 :(得分:529)

您可以在Chrome javascript控制台中使用$x。不需要扩展。

ex:$x("//img")

Web检查器中的搜索框也将接受xpath

答案 1 :(得分:203)

右键点击node => “复制XPath”

答案 2 :(得分:61)

以上所有答案都是正确的,这也是屏幕截图的另一种方式。

来自Chrome:

  1. 右击"检查"在你试图找到xpath的项目
  2. 右键单击控制台上突出显示的区域。
  3. 转到复制xpath
  4. enter image description here

答案 3 :(得分:25)

答案 4 :(得分:12)

现在不需要扩展程序。右键单击任何想要xpath的元素,然后单击“Inspect Element”,然后再单击Inspector,右键单击元素并单击“Copy Xpath”。

答案 5 :(得分:9)

xpathOnClick有您要找的内容:https://chrome.google.com/extensions/detail/ikbfbhbdjpjnalaooidkdbgjknhghhbo

阅读评论,实际上需要三次点击才能获得xpath。

答案 6 :(得分:9)

Google Chrome提供了一个名为“Chrome DevTools”的内置调试工具,其中包含一个便捷的功能,可以评估或验证XPath / CSS选择器,而无需任何第三方扩展。

这可以通过两种方法来完成:

使用Elements面板中的搜索功能来评估XPath / CSS选择器并突出显示DOM中的匹配节点。 在Console面板中执行令牌$ x(“some_xpath”)或$$(“css-selectors”),它们将进行评估和验证。

从元素面板

  1. 按F12打开Chrome DevTools。

  2. 默认情况下应打开元素面板。

  3. 按Ctrl + F在面板中启用DOM搜索。

  4. 键入要评估的XPath或CSS选择器。

  5. 如果有匹配的元素,它们将在DOM中突出显示。 但是,如果DOM中存在匹配的字符串,则它们也将被视为有效结果。例如,CSS选择器标题应匹配包含单词标题的所有内容(内联CSS,脚本等),而不是仅匹配元素。

  6. enter image description here

    从“控制台”面板

    1. 按F12打开Chrome DevTools。

    2. 切换到控制台面板。

    3. 键入XPath,如$x(".//header")进行评估和验证。

    4. 输入$$("header")等CSS选择器进行评估和验证。

    5. 检查从控制台执行返回的结果。

    6. 如果元素匹配,它们将在列表中返回。否则显示空列表[]。

      $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.
      

答案 7 :(得分:9)

让我们告诉你一个简单的公式来找到任何元素的xpath:

1-在浏览器中打开网站

2-选择元素并右键单击

3-单击检查元素选项

4-右键单击选定的html

5-选择复制xpath的选项在需要的地方使用它

此视频链接对您有所帮助。 http://screencast.com/t/afXsaQXru

注意:对于xpath的高级选项,您必须知道html的正则表达式或模式。

答案 8 :(得分:9)

从最新的chrome更新开始,您现在可以单击元素检查器中的任何元素并将XPath复制到剪贴板。

答案 9 :(得分:4)

只需右键单击您想要xpath的元素,您将看到一个要复制它的菜单项。当裁谈会上任时,这可能不存在,但现在肯定存在。

答案 10 :(得分:3)

在Firefox中的Firebug中,您可以在检查元素后右键单击该元素,然后选择“复制XPath”。我无法让ChromYQLip顺利运作。

答案 11 :(得分:3)

例如,对于Chrome:

  1. 在要查找XPath的项目上单击“检查”。
  2. 右键单击HTML DOM上突出显示的区域。
  3. 转到“复制”>选择“复制XPath”。
  4. 完成上述步骤后,您将从DOM获取元素的绝对XPath。
  5. 您可以进行更改以使其成为相对的XPath(因为如果DOM更改,您的XPath仍然可以找到该元素)。

a。为此,通过打开浏览器的“元素”面板,按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

进行更改时:

  1. 确保XPath在DOM中是唯一的。
  2. 仍然在DOM和网页上选择了web元素。

答案 12 :(得分:1)

略微过时,但也许有用:在Mac Chrome上,虽然你无法在开发工具面板的搜索框中复制x路径(相反,复制将节点抓取为HTML),你可以将文本拖放到一个外部编辑。

答案 13 :(得分:1)

我尝试了几乎所有可用的扩展程序,并发现下面的内容是最好的。

ChroPath Extension link

就像FirePath一样,当您单击Inspect时,此扩展名会直接为您提供Xpath。

enter image description here

答案 14 :(得分:0)

使用此扩展,它会根据id或class生成xpath,这可能是你想要使用的。

单击浏览器图标,面板显示在页面的右上角,然后单击开始检查,然后单击任何元素以获取xpath。

XPath Generator

相当于上面的Chrome扩展解决方案可插入Java项目jar: 虽然Chrome同时提供了XPath和选择器,但它们都默认属于&#34; id&#34;或其他动态变化的项目。上面的问题是由依赖持久属性的需要驱动的。 https://www.burlingtonvisionandlab.com/Downloads/TuSqK231LashowXPathSE7HTML/showXPathSE1_7Table.html

可下载的免费jar将显示更长的路径,其中包含可供选择的选择属性。

答案 15 :(得分:0)

您可以尝试使用Chrome Web Extension TruePath,该Web扩展在右键单击网页时动态生成相对的XPath,并将所有XPath显示为菜单项。

答案 16 :(得分:0)

有多种方法可以在Google chrome中获取XPath-

  1. 您可以编写自己的XPath。

enter image description here

  1. 您可以使用$ x('xpath')在控制台中编写它

enter image description here

  1. 您可以使用SelectorsHub浏览器插件。

enter image description here

答案 17 :(得分:0)

首先打开你的谷歌浏览器

并打开任何网站

并检查