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

如何用Python模拟点击获取TradingView动态标签页的状态并实时打印?

实现TradingView技术页面自动切换标签并读取状态

问题背景

目标站点为https://www.tradingview.com/symbols/BTCUSD/technicals/,页面包含1分钟、5分钟等无独立URL的标签页,每个标签页对应显示“NEUTRAL”等状态的仪表盘组件。需要用Python自动模拟点击1分钟和15分钟标签页,每秒读取并输出对应仪表盘状态,替代手动操作。

可行方案:使用Selenium模拟浏览器交互

由于标签页是前端动态渲染、无独立跳转链接,必须通过模拟真实浏览器的点击、等待等操作来实现,推荐使用Selenium库完成需求:

1. 安装依赖

执行以下命令安装所需库:

pip install selenium webdriver-manager

webdriver-manager用于自动管理浏览器驱动文件,无需手动下载配置。

2. 核心实现代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from webdriver_manager.chrome import ChromeDriverManager
import time

# 初始化Chrome浏览器
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("https://www.tradingview.com/symbols/BTCUSD/technicals/")
driver.maximize_window()

# 等待页面核心元素加载完成,避免提前操作报错
wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.CLASS_NAME, "speedometerSignal-pyzN--tF")))

try:
    while True:
        # 切换到1分钟标签页并读取状态
        one_min_tab = driver.find_element(By.XPATH, "//span[text()='1']")
        one_min_tab.click()
        time.sleep(0.5)  # 等待标签页内容更新
        one_min_status = driver.find_element(By.CLASS_NAME, "speedometerSignal-pyzN--tF").text
        print(f"1分钟状态: {one_min_status}")

        # 切换到15分钟标签页并读取状态
        fifteen_min_tab = driver.find_element(By.XPATH, "//span[text()='15']")
        fifteen_min_tab.click()
        time.sleep(0.5)
        fifteen_min_status = driver.find_element(By.CLASS_NAME, "speedometerSignal-pyzN--tF").text
        print(f"15分钟状态: {fifteen_min_status}")

        time.sleep(1)  # 控制每秒循环一次
except KeyboardInterrupt:
    print("\n程序已手动终止")
finally:
    # 无论程序是否异常,都关闭浏览器
    driver.quit()

关键说明

  • 使用WebDriverWait等待仪表盘元素加载,避免页面未渲染完成导致的定位失败
  • 通过XPATH精准定位标签页(匹配显示“1”“15”的span元素),模拟用户点击切换
  • 通过类名speedometerSignal-pyzN--tF定位仪表盘状态文本,直接读取内容
  • 加入短时间等待确保标签页切换后内容完全更新,避免读取旧数据
  • 捕获KeyboardInterrupt信号,支持通过Ctrl+C手动终止程序

注意事项

  • 首次运行会自动下载Chrome驱动,需确保网络正常
  • TradingView存在反爬机制,若出现验证码或访问限制,可添加随机等待时间、模拟滚动等人类操作行为
  • 若后续页面元素结构更新,需调整元素定位器(XPATH或类名)以适配新页面

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:05:15