xpath - 根据表兄弟值选择元素
问题描述
假设我有这个 html(忽略标签名称):
<div>
<card>
<h2>1</h2>
</card>
<footer>
<p>text 1</p>
</footer>
</div>
<div>
<card>
<h2>2</h2>
</card>
<footer>
<p>text 2</p>
</footer>
</div>
<div>
<card>
<h2>3</h2>
</card>
<footer>
<p>text 2</p>
</footer>
</div>
我想选择 h2 值为 2 的 p 标签(我将选择带有文本 2 的 p)
如果我使用这个表达式//h2[text()="2"]/../following::footer/p
,我会得到 2 个 p 标签。
如何只选择表亲h2
值为的 p 标签2
?
编辑:Robbie Averill 的答案是第一个起作用的,但你应该检查其他答案,它们也非常好。
解决方案
您可以从h2
匹配的内容导航到div
包含所需元素的内容,然后footer/p
从那里定位元素:
//h2[text()="2"]/../../footer/p
推荐阅读
- python - Python 函数返回无。不太明白为什么
- amazon-web-services - 使用 aws mediaconvert 向视频添加多个图像
- .net - 配置 Swashbuckle/SwaggerUI 以显示登录页面并在 API 请求中包含返回的 cookie
- java - 如何在手指触摸时创建 ImageView?
- c# - 从网络摄像头获取 rtsp ffmpeg(H264) 流并通过 asp.net core rest api 提供服务
- apache-spark - pyspark中具有1秒差异的聚合时间戳
- javascript - 当用户尝试将随机字符串附加到 URL 时,如何将用户重定向到“未找到页面”?
- sql-server - 当某些时间在午夜之后计算两列之间的时间差
- bash - Bash grep, awk o sed 反向查找
- javascript - jQuery - 切换两个按钮的活动状态