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

如何使用XPath提取TradingView页面LINKUSD价格并解决代码返回空值问题

问题核心原因

  • 你使用的绝对XPath稳定性极差,TradingView页面动态渲染会频繁调整DOM层级结构,大概率会定位不到目标元素
  • 目标价格内容并未存储在元素的title属性中,调用get_attribute("title")自然返回空值
  • 未添加页面加载等待逻辑,页面动态渲染完成前就执行元素查找操作,也会导致取数为空
  • 如果你使用的是Selenium 4及以上版本,旧版find_element_by_xpath方法已经被官方废弃,本身就无法正常执行

修复方案

1. 改用更稳定的元素定位方式

直接通过目标元素的专属class属性定位,替代脆弱的绝对XPath:

// 定位目标元素的XPath写法
price_ele = driver.find_element(By.XPATH, '//div[contains(@class,"tv-symbol-price-quote__value")]')

2. 正确提取价格文本

目标价格由div节点自身的文本+子span节点的文本拼接而成,直接获取text属性即可自动拼接得到完整价格:

current_price = price_ele.text

3. 增加显式等待逻辑,保证元素渲染完成再操作

避免页面未加载完就执行取数操作,完整可运行示例代码如下:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 最长等待10秒,直到目标元素渲染完成
wait = WebDriverWait(driver, 10)
price_ele = wait.until(EC.presence_of_element_located((By.XPATH, '//div[contains(@class,"tv-symbol-price-quote__value")]')))
current_price = price_ele.text
print(current_price)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:57:03