如何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
以下应该有效:
//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']
<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
以下应该有效:
//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']