xpath - 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
但我似乎无法让这个拿起文本。
解决方案
您需要返回到 span 的父级,因为您要查找的 div 是 h3 的兄弟而不是 span。
可能有更好的方法来做到这一点,但这对我来说可以得到你需要的 div 元素:
//h3//span[contains(@class, 'panda')]/parent::h3/following-sibling::div
推荐阅读
- azure-pipelines - Azure 管道调试日志记录
- sql - 固定表分层查询的Union All替代方案
- tsql - 是否可以使用 t-sql 创建一个存储过程,在其中使用存储过程中的 ODBC 数据源查询远程数据库?
- amazon-web-services - 将 Lambda 连接到 AWS MSK 中的 kafka 主题的最经济有效的方法是什么?
- r - 如何在 R 中创建一个新变量,它是具有缺失数据的其他变量的平均值?
- javascript - 如何从两个不同 MySQL 表中的两个变量绘制折线图
- java - 如何在 Maven 中使用 OpenJSSE?
- next.js - NextJS assetPrefix and basePath prefix not taking effect
- c# - 如何在 c# 的 lambda 运算符中重用表达式变量的结果?
- r - R:更改数据框中的所有变量