【发布时间】:2015-12-07 07:52:51
【问题描述】:
我需要一个用于以下 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>
所以如果spec-title div 包含Model,我需要kast 值。
我尝试过//div[preceding-sibling::div[contains(.,"Model)")]],但这不起作用。
【问题讨论】:
-
您的 XPath(几乎)没有任何问题,但正如所写,您的 XPath 和 XML 都会导致错误。底线:
contains(.,"Model)")必须是contains(.,"Model"),您的 XML 缺少结束</div>并在表达式末尾添加/span/text()。见corrected XML and XPath in action at XPathTester.com here。 (PS:给出的答案同样正确,但反过来也有效)。