XPath用于根据元素文本内容从HTML片段中获取节点

时间:2015-09-10 21:24:05

标签: html dom xpath

我需要一个用于以下HTML片段(DOM结构)的XPath表达式

<div class="content">
 <div class="product-compare-row">
  <div class="spec-title half-size">Model</div>
 <div class="spec-values half-size">
  <span class="spec-value">kast</span>
 </div>
</div>

如果kast spec-title包含div,我需要Model值。

我已经尝试//div[preceding-sibling::div[contains(.,"Model)")]],但这不起作用。

1 个答案:

答案 0 :(得分:4)

您正在寻找的XPath是:

//div[contains(@class, "spec-title") and contains(text(), "Model")]/following-sibling::div/span/text()

跟随它有点棘手,但用简单的英语:

  1. 选择所有div个成员spec-title并且文字包含&#39;模型&#39;
  2. 的元素。
  3. 如果这些div's兄弟姐妹是div,请找任何
  4. 遍历他们的任何span子女并返回他们的文字。