首页 > 解决方案 > Xpath 基于 span 类抓取 div 内容

问题描述

<div class="accrd-row">
<h3 class="ui-helper-reset ui-accordion-header ui-corner-top ui-accordion-header-collapsed ui-corner-all ui-state-default ui-accordion-icons" role="tab" id="ui-id-1" aria-controls="ui-id-2" aria-selected="false" aria-expanded="false" tabindex="0"><span class="ui-accordion-header-icon ui-icon ui-icon-triangle-1-e"></span><span class="icon icon-ki-act-panda"></span><a href="#">Outdoor Activities</a></h3>

<div class="accrd-detail ui-accordion-content ui-corner-bottom ui-helper-reset ui-widget-content" id="ui-id-2" aria-labelledby="ui-id-1" role="tabpanel" aria-hidden="true" style="display: none;">Need to grab this text here</div>

</div>

我正在尝试获取文本:

Need to grab this text here

基于上面的跨度有“熊猫”这个词。我知道它是这样的:

//span/@class[contains(.,'panda')]/following-sibling::a/div

但我似乎无法让这个拿起文本。

标签: xpath

解决方案


您需要返回到 span 的父级,因为您要查找的 div 是 h3 的兄弟而不是 span。

可能有更好的方法来做到这一点,但这对我来说可以得到你需要的 div 元素:

//h3//span[contains(@class, 'panda')]/parent::h3/following-sibling::div

推荐阅读