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

如何在Heroku上正确安装配置ChromeDriver?附运行报错日志

报错核心原因

日志里的连锁报错本质是两个问题叠加:

  1. 代码里指定的/app/.chromedriver/bin/chromedriver路径下不存在chromedriver文件——你参考的老旧教程里用的第三方构建包已经失效,不会自动往这个路径存放驱动文件
  2. 系统全局PATH路径里也没有可执行的chromedriver,Selenium找不到驱动文件直接抛出终止异常
可直接落地的修复步骤
  • 登录Heroku后台进入对应应用的设置页,把Buildpacks列表里所有个人维护的第三方Chrome/Chromedriver相关构建包全部删除,按顺序添加3个官方维护的构建包:
    • 第一个:heroku/python
    • 第二个:heroku/google-chrome
    • 第三个:heroku/chromedriver
  • 修改Selenium初始化代码,删掉手动传executable_path=os.environ.get("CHROMEDRIVER_PATH")的那段配置,Selenium 4.x版本会自动识别系统PATH里的chromedriver,不需要手动指定驱动路径。
  • 补全Heroku无头环境运行Chrome必须的启动参数,缺任何一个都可能导致启动崩溃,把你的chrome_options配置替换成下面的内容即可:
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless=new")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--disable-gpu")
# 官方构建包装完Chrome二进制文件默认就在这个路径,直接写死就行
chrome_options.binary_location = "/app/.apt/usr/bin/google-chrome"
  • 把代码改动推到Heroku触发重新部署就可以正常运行,不需要手动添加CHROMEDRIVER_PATH之类的自定义环境变量,官方构建包会自动配置好路径。

别瞎用网上搜出来的三四年前老教程里贴的第三方个人做的chromedriver构建包,这些包基本都停更好几年了,要么装的驱动版本和Chrome版本对不上,要么连基础的文件路径配置都失效,纯纯白浪费时间。用Heroku官方维护的Chrome和chromedriver构建包,两个包的版本会自动匹配,省很多没必要的麻烦。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 15:21:22