如何select一个节点只有当另一个节点满足条件

How do I select a node only when the other node satisfies a condition

<div class="apoSoftKpiBox concrete">
  <div class="apoBoxIconBar">
    <div class="apoKpiBoxTop">
      <h4 class="ng-binding">Development</h4>
    </div>
   <div class="apoKpiBoxBottom">
    <div class="col-xs-12 apoKpiBoxValue shortNumber ng-binding">   0 </div>
  </div>
</div>

我想 select 节点 apoKpiBoxBottom 但要这样做,第一个节点 apoKpiBoxTop 应该首先包含文本 "Development"

我用这个来select两个元素

//div/h4[contains(text(),'Development')]|//div[contains(text(),'0')]

这是一种可能的 XPath,基于您尝试的 XPath 和发布的 HTML 片段:

//div[div/h4[contains(.,'Development')]]/div[@class='apoKpiBoxBottom']/div

demo

以下应该有效:

//div[@class="apoKpiBoxTop" and .="Development"]/following-sibling::div[@class="apoKpiBoxBottom"]

试试这个 xpath

//div[@class='apoKpiBoxTop']/h4[contains(text(), 'Development')]/following::div[@class='apoKpiBoxBottom']

//div[@class='apoKpiBoxTop']/h4[contains(text(), 'Development')]/..//following-sibling::div[@class='apoKpiBoxBottom']