You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求助:tvDatafeed使用中ChromeDriver手动安装配置及VS Code终端执行异常问题

解决tvDatafeed中ChromeDriver手动安装与配置问题

我来帮你一步步搞定这个ChromeDriver的配置难题,你的报错核心是驱动路径没正确指定,再加上VS Code终端的小问题导致自动下载流程走不通,我们先解决手动配置的核心问题,再顺便修复终端执行的问题:

一、先完成ChromeDriver的手动匹配与放置

1. 确认Chrome浏览器版本

打开Chrome,点击右上角三个点 → 设置 → 关于Chrome,查看你的Chrome版本(比如118.0.5993.71),重点记住版本号的前三位(比如118.0.5993),驱动版本必须和这个主版本完全一致。

2. 下载对应版本的ChromeDriver

下载和你Chrome主版本匹配的ChromeDriver,解压后会得到一个chromedriver.exe文件。

3. 放置驱动文件(二选一即可)

  • 方式1:放到Python的Scripts目录
    找到你Python39的安装路径(比如C:\Program Files\Python39),进入Scripts文件夹,把chromedriver.exe放进去。这样系统环境变量能直接找到它,后续不用手动写路径。
  • 方式2:放到项目目录
    chromedriver.exe直接放到你的脚本所在目录(比如f:\TraidingViewTA),后续初始化时指定路径即可。

二、在tvDatafeed中手动指定驱动路径

修改你的初始化代码,把chromedriver_path参数设置为你刚才放置的chromedriver.exe的完整路径:

from tvDatafeed import TvDatafeed

username = "你的TradingView用户名"
password = "你的TradingView密码"

# 情况1:如果用方式1(放到Python Scripts目录),直接写文件名即可
tv = TvDatafeed(username, password, chromedriver_path="chromedriver.exe")

# 情况2:如果用方式2(放到项目目录),用绝对路径示例
# tv = TvDatafeed(username, password, chromedriver_path="f:\\TraidingViewTA\\chromedriver.exe")

# 情况3:也可以用相对路径(项目目录下)
# tv = TvDatafeed(username, password, chromedriver_path="./chromedriver.exe")

这样就能绕开自动下载的流程,直接使用你手动准备好的驱动。

三、顺便修复VS Code终端无法执行脚本的问题

你的工作区配置目前用的是Command Prompt,可能调整一下就能正常执行脚本:

  1. 确认VS Code左下角的Python解释器是你安装的Python39(点击版本号可以切换)。
  2. 打开终端后,尝试直接执行脚本:
cd f:\TraidingViewTA
python tv1.py

如果还是不行,可以把终端默认Profile换成PowerShell,修改你的settings.json

{
  "folders": [
    {
      "path": "..\\Psample"
    }
  ],
  "settings": {
    "terminal.explorerKind": "external",
    "terminal.integrated.defaultProfile.windows": "PowerShell"
  }
}

调整后终端应该能正常执行脚本,后续如果需要自动下载驱动的话,也能正常输入'y'确认了。

为什么你之前会出现那些报错?

  • 第一个TypeError是因为你传了chromedriver_path=None,而自动下载又没成功,导致代码找不到驱动文件的路径。
  • 后面的UnboundLocalError是驱动初始化失败后,代码尝试调用driver.quit()driver变量根本没创建出来,本质还是驱动路径未正确指定导致的连锁问题。

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

火山引擎 最新活动