xpath 相关问题

XPath的主要目的是解决XML文档的各个部分。它还提供操纵弦乐,数字和布尔值的基本设施。 XPath使用紧凑的非XML语法。 XPath在XML文档的抽象逻辑结构上运行,而不是表面语法。

无法在 WSO2 EI / MI 中使用 jsonpath/xpath 获取 JSON ARRAY 元素

我在下面分享了示例 JSON 负载。 { “多重属性”:[ { “属性”: [ { &...

回答 1 投票 0

odoo 继承没有名称或 id 的视图元素

在odoo中,我尝试更改招聘表格,但某些结构元素没有名称或id。当我更改这些元素时,它最初工作正常,但是当我升级数据库时......

回答 2 投票 0

如何获取<li>标签内Table中元素的xpath?

我正在尝试将文本发送到搜索框中,该搜索框将自动列出与文本匹配的项目。我想选择与搜索文本完全匹配的记录。 例子: 我正在尝试将文本发送到搜索框,该搜索框将自动列出与文本匹配的项目。我想选择与搜索文本完全匹配的记录.. 示例: <!DOCTYPE html> <html lang="en"> <head><title>Test Selection</title></head> <body> <ul id='navlist'> <li> <table style='border:1px solid black'><tr><td>1234</td><tr><td>Johnas</td><tr><td>Active</td></tr></table> </li> <li> <table style='border:1px solid blue'><tr><td>0234</td><tr><td>Philips</td><tr><td>Active</td></tr></table> </li> <li> <table style='border:1px solid green'><tr><td>2235</td><tr><td>Joseph</td><tr><td>InActive</td></tr></table> </li> </ul> </body> </html> 当我发送文本 0234 时,它列出了两条记录 1234 和 0234 。但我想单独选择第二个,即 0234。 我可以使用 xpath = "//ul/li/table" 选择第一条记录,但发现很难找到与发送文本完全匹配的记录。 尝试过, contains(.,'0234'), contains(text()='0234'), contains(Text()='0234') 。但不起作用。 包含文本()还检查数字。 我会使用类似 //ul/li[table//tr/td[1] = '0234'] 的内容来选择包含 li 的 table 元素,其中行的第一个 td 的值为 0234。 小提琴示例。

回答 1 投票 0

“表达式必须计算为节点集。”

我有一个问题。 我的 XML 文件在这里: 塔里赫 2013年7月24日18:59:45 ...

回答 4 投票 0

IMPORTXML Google 表格公式不起作用

我尝试在 Google 电子表格中使用 =IMPORTXML(),但收到“导入的内容为空”。即使使用正确的 xpath_query 参数。我在这里使用了 xPath Generator 工具。 我明白了...

回答 1 投票 0

Symfony \ Component \ CssSelector \ Exception \ SyntaxErrorException cssselector 到 laravel 中的 xpath

我有以下html select元素,select元素的属性名称包含方括号,需要使用domcrawler进行过滤,但不幸的是,CssSelectorConvertor()无法转换cssleec...

回答 1 投票 0

如何在Python中抓取与主页url相同的网页url?

下面的网址会打开一个表格,我们只需选择会计年度并点击搜索即可获取该年度的数据,但搜索年份也会打开与以下相同的网址 - https://cf...

回答 1 投票 0

如果文本包含  , 如何查找元素?

我在页面上有几个总计,我需要获取其中包含 2.5 的总计 总计 1.5 我在页面上有几个总计,我需要获取其中包含 2.5 的总计 <div class="cell--NEHKQ _align-left--Yc_tL">Total&nbsp;1.5</div> <div class="cell--NEHKQ _align-left--Yc_tL">Total&nbsp;2.5</div> 我尝试使用以下代码 //div[contains(.,'Total') and contains(.,'2.5')] 但是它发现页面上有大量与我需要的元素不相关的元素。 有没有一个简单的解决方案来查找包含 的文本? //div[contains(.,'Total&#20;2.5')]

回答 1 投票 0

如何从自动完成选项中选择主题?

网站链接 - https://demoqa.com/automation-practice-form/ 我正在尝试寻找主题字段的自动建议选项的 xpath

回答 4 投票 0

XPath 可以在无效标记中任意出现文本后定位节点吗?

我有一个由顽皮的网络开发人员编写的文档,看起来像: 这是一些没有 p 标签的文本。哦,我们再写一些吧。 <... 我有一个由顽皮的网络开发人员编写的文档,看起来像: <div id="details"> Here is some text without a p tag. Oh, let's write some more. <br> <br> And some more. <table id="non-unique"> ... </table> Replaces the following numbers: <table id="non-unique"> ... good stuff in here </table> </div> 所以,它没有很好地标记。我需要获取其中包含好东西的表,但是,它没有唯一的 id 值并且它并不总是按相同的顺序,或者位于 div 的最后一个等。 唯一运行的主题是它始终遵循文本 Replaces the following numbers:,尽管该文本可能与上面示例中的一样,或者有时位于 h4 元素中! 是否可以使用 XPath 表达式通过搜索替换字符串然后询问下一个表元素来整理此表? 谢谢! 这对我来说似乎是有效的: //text()[contains(.,"Replaces the following numbers")]/following-sibling::table[1] 没有规定 id 必须是唯一的。 使用: //node()[self::h4 or self::text()] [normalize-space() = 'Replaces the following numbers:'] /following-sibling::*[1][self::table] 基于XSLT的验证: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:template match="/"> <xsl:copy-of select= "//node()[self::h4 or self::text()] [normalize-space() = 'Replaces the following numbers:'] /following-sibling::*[1][self::table] "/> </xsl:template> </xsl:stylesheet> 当此转换应用于提供的文档时(已更正为格式良好的 XML 文档): <div id="details"> Here is some text without a p tag. Oh, let's write some more. <br /> <br /> And some more. <table id="non-unique"> ... </table> Replaces the following numbers: <table id="non-unique"> ... good stuff in here </table> </div> 计算 XPath 表达式并将所选节点复制到输出: <table id="non-unique"> ... good stuff in here </table> 当相同的转换(XPath 表达式)应用于此 XML 文档时: <div id="details"> Here is some text without a p tag. Oh, let's write some more. <br /> <br /> And some more. <table id="non-unique"> ... </table> <h4>Replaces the following numbers:</h4> <table id="non-unique"> ... good stuff in here </table> </div> 再次选择想要的元素并输出: <table id="non-unique"> ... good stuff in here </table> 不可以,因为 XPath 需要格式良好的 Xml 才能运行。 参见。 这个答案,它提供了一些额外的信息。

回答 3 投票 0

在 Ruby 中使用 xPath 选择组中的段落

我目前正在使用 Ruby 和 xPath 开发一个小型网络抓取项目。不幸的是,该网站的结构非常糟糕,这给我带来了一个小问题: 相关标题 我目前正在使用 Ruby 和 xPath 开发一个小型网络抓取项目。不幸的是,该网站的结构非常糟糕,这给我带来了一个小问题: <h3>Relevant Headline</h3> <p class="class_a class_b">Content starts in this paragraph...</p> <p class="class_a ">...but this content belongs to the preceding paragraph</p> <p class="class_a class_b">Content starts in this paragraph...</p> <p class="class_a ">...but this content belongs to the preceding paragraph</p> <h3>Some other Headline</h3> 如您所见,有 2 个 h3-Tags 框住了多个 p-tags。我希望选择所有带框的 p 标签。我已经找到了以下 xPath 来做到这一点: h3[contains(text(),"Relevant")]/following-sibling::p[1 = count(preceding-sibling::h3[1] | ../h3[contains(text(),"Relevant")])] 但现在困难来了:上面的两段是在一起的。 class_b 的段落(第一个)开始一个新的数据条目,下一个(第二个)属于该条目。 3和4是一样的。问题是:有时 3 个段落属于在一起,有时是 4 个段落,但大多数时候有一对段落属于在一起。 如何在 Ruby 中按组选择这些内部段落并将它们组合成一个字符串? 如果您不介意使用 xpath 和 nokogiri 的组合,您可以这样做: paragraph_text = Array.new doc.xpath('//p[preceding-sibling::h3[1][contains(text(), "Relevant")]]').each do |p| if p.attribute('class').text.include?('class_b') paragraph_text << p.content else paragraph_text[-1] += p.text end end puts paragraph_text #=> ["Content starts in this paragraph......but this content belongs to the preceding paragraph", "Content starts in this paragraph......but this content belongs to the preceding paragraph"] xpath 基本上用于获取段落标签。然后,使用 nokogiri/ruby 迭代段落并制定字符串。 可以用 xpath 来完成,但我认为用 slice_before 将它们分组更容易: doc.search('*').slice_before{|n| n.name == 'h3'}.each do |h3_group| h3_group.slice_before{|n| n[:class] && n[:class]['class_b']}.to_a[1..-1].each do |p_group| puts p_group.map(&:text) * ' ' end end 更新 使用 css 的另一个选项: doc.search('p.class_b').each do |p| str, next_node = p.text, p while next_node = next_node.at('+ p:not([class*=class_b])') str += " #{next_node.text}" end puts str end

回答 2 投票 0

rapidminer 可以从 URL 列表中提取 xpath,而不是先保存 HTML 页面吗?

我最近发现了RapidMiner,我对它的功能感到非常兴奋。但是我仍然不确定该程序是否可以帮助我满足我的特定需求。我希望程序能够抓取 xpath mat...

回答 2 投票 0

xf:dispatch:基于上下文节点的动态事件名称不起作用?

我正在尝试根据实例的内容定义一组按钮。 我这样做是为了通过将动作放入模型中来整理我的视图。 我正在使用调度元素来触发

回答 1 投票 0

如何验证 xpath 模式在 Wiremock 中不匹配?

我正在开发一个测试用例,该用例断言 Wiremock 存根的 xml 请求正文没有 xmlns 属性。 到目前为止,我尝试使用 equalToXml 匹配器,但这是忽略的

回答 1 投票 0

选择源包含字符串的事件日志记录的XPath

我正在编写一个 XPath 查询字符串来从 Windows 事件日志中选择记录,其中事件源包含特定字符串。我有一个版本可以执行完全匹配,其中路径 el...

回答 1 投票 0

如何使用 xmllint 和 XPath 从属性中获取值?

我想获取 name 的值并使用 XMLLint 将其放入变量中 echo 'cat //body/value/@name' | xmllint --shell &...

回答 6 投票 0

需要查询 XPath,找到包含 7 个 <tr> 元素的所有 <td> 元素

您好,希望感谢您的帮助。 老实说,我对 XPath 的经验不是很丰富,我希望那里的专家能给我一个快速的答案。 我正在抓取网页以获取数据。定义...

回答 1 投票 0

在 JMeter 中使用 Xpath 解析 HTML

我无法通过以下请求提取 Google 在搜索过程中找到的资源的链接(页面:https://google.com/search?q=example): //div[contains(@class, 'g')]//a[descendant::h3]/@href.

回答 1 投票 0

向端口发送消息时,Biztalk Server 中缺少根元素

我的场景看起来很简单: 我们有一个具有某种格式的文件 myfileddmmyyhhss.txt,在该文件中我们有这样的内容: H|3 |20110607235508 V|M006 |HAB8753 |纽约|PAS|201...

回答 1 投票 0

Cy.get().type() 似乎没有注册为键盘事件

我正在使用 cy.get('xpath to selecter').type('something') 来填写一个工作正常的字段。 我遇到的问题是填写该字段应该启用继续按钮,但事实并非如此。如果我

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.