使用XPath根据已知兄弟Span值获取对应Div内容的方法咨询
解决方案
核心XPath语法
以下两种写法都可以实现你要的定位效果:
- 通过同级节点轴定位(推荐,耦合度更低)
//span[text()='Putere']/following-sibling::div[@class='offer-params__value']
如果需要直接提取文本内容,在路径末尾加/text()即可:
//span[text()='Putere']/following-sibling::div[@class='offer-params__value']/text()
- 通过父节点li定位
//li[.//span[text()='Putere']]/div[@class='offer-params__value']
补充说明
- 该写法完全不依赖li节点的排列顺序,只要span的文本内容固定不变,就可以稳定定位到目标div。
- 如果span文本前后存在空格、换行符导致精确匹配失效,可以用
normalize-space()方法清除多余空白字符后再匹配,示例://span[normalize-space(text())='Putere']/following-sibling::div - 写法中的
@class='offer-params__value'可以根据实际情况省略,只要保证该span后首个同级div就是你要取的目标节点即可。
内容的提问来源于stack exchange,提问作者Dumitru Daniel
相关产品推荐
相关产品推荐

