如何结合strong元素使用following-sibling?XPath定位HTML元素遇阻
XPath 精准定位表格内容方案
- 需求:基于
<strong>标签内的文本(比如"Movement:"),获取表格中对应列的内容,而非批量获取所有同类元素。 - 之前表达式失效原因:错误地从
<strong>元素本身寻找兄弟节点,但目标内容所在的<td>是<strong>父节点(带productTitle类的<td>)的同级节点,并非<strong>的同级。 - 可用的正确 XPath 表达式:
- 从目标父
<td>出发定位://td[contains(@class, 'productTitle') and .//strong[text()='Movement:']]/following-sibling::td - 从表格行层面定位,逻辑更直观:
//tr[td[contains(@class, 'productTitle')]/strong[text()='Movement:']]/td[2]
- 从目标父
- 补充说明:
- 第一个表达式先筛选出包含文本为"Movement:"的
<strong>且带有productTitle类的<td>,再获取它的下一个同级<td>。 - 第二个表达式先定位到包含目标
<strong>的表格行,直接提取该行的第二个<td>,定位精度更高。
- 第一个表达式先筛选出包含文本为"Movement:"的
内容的提问来源于stack exchange,提问作者Evgeniy
相关产品推荐
相关产品推荐

