如何用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
相关产品推荐
相关产品推荐

