You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用XPATH获取TradingView中C1与C2指标间的所有div元素

解决TradingView XPATH匹配C1与C2指标间div的问题

原表达式错误原因

你写的XPATH逻辑完全搞反了:

*[following-sibling::div[contains(@data-section-name,'C1 Indicator')] and preceding-sibling::div[contains(@data-section-name,'C2 Indicator')]]

这个表达式是找自身有一个后续兄弟是C1,且有一个前置兄弟是C2的元素,和你要的“位于C1和C2之间”的需求逻辑相反,自然匹配不到目标内容。

正确XPATH写法

根据DOM结构的顺序分两种情况:

情况1:C1在前面,C2在后面(常见结构)

如果DOM是C1 Indicator → 目标div → C2 Indicator的同级结构,用这个表达式:

//div[preceding-sibling::div[contains(@data-section-name,'C1 Indicator')] and following-sibling::div[contains(@data-section-name,'C2 Indicator')]]

情况2:C2在前面,C1在后面

如果结构反过来,调整兄弟轴的顺序:

//div[preceding-sibling::div[contains(@data-section-name,'C2 Indicator')] and following-sibling::div[contains(@data-section-name,'C1 Indicator')]]

额外优化建议

  • 如果data-section-name的取值是精确的(没有额外字符),可以把contains换成精确匹配=,提升效率:
    //div[preceding-sibling::div[@data-section-name='C1 Indicator'] and following-sibling::div[@data-section-name='C2 Indicator']]
    
  • 若目标div被其他元素嵌套,不是直接同级,可把preceding-sibling/following-sibling换成preceding/following,但TradingView的指标区块一般是同级结构,兄弟轴足够用。

内容的提问来源于stack exchange,提问作者jguy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 02:45:50