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

Flask虚拟环境集成Selenium遇Chromedriver异常退出(状态码127)及模板缺失问题

Flask集成Selenium问题解决指南

一、Chromedriver 退出码127问题

退出码127在Ubuntu下核心原因是可执行文件无法找到/运行,分以下几种情况处理:

1. 补全系统依赖库

Chromedriver依赖Chromium的底层运行库,直接执行命令安装:

# Ubuntu 20.04及以下
sudo apt-get install -y libnss3 libgconf-2-4 libxi6 libxrender1 libxss1 libappindicator1 libasound2

# Ubuntu 22.04及以上(libgconf-2-4已废弃)
sudo apt-get install -y libnss3 libgbm1 libxi6 libxrender1 libxss1 libappindicator3-1 libasound2

2. 强制匹配Chromedriver与Chromium版本

autoinstaller偶尔会出现版本不兼容,手动校验并修复:

  • 查看当前Chromium版本:chromium-browser --version
  • 查看Chromedriver版本:chromedriver --version
    如果版本号前几位不一致,手动下载对应版本的Chromedriver,放到/usr/local/bin目录,再赋予执行权限:
sudo chmod +x /usr/local/bin/chromedriver

3. 修复运行权限与无头模式配置

服务器环境下必须用无头模式,同时避免权限冲突,代码里加上这些参数:

from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument("--headless=new")  # 新版无头模式,兼容性更好
chrome_options.add_argument("--no-sandbox")  # 绕过Ubuntu的安全限制
chrome_options.add_argument("--disable-dev-shm-usage")  # 解决临时空间不足问题
driver = webdriver.Chrome(options=chrome_options)

另外检查Chromedriver的执行权限:

ls -l $(which chromedriver)

如果没有x权限,执行sudo chmod +x /path/to/chromedriver。

二、error.html模板找不到问题

这是Flask模板查找规则的问题,按以下步骤排查:

  • 项目结构必须正确:模板文件必须放在根目录的templates文件夹下,结构示例:
your_flask_app/
├── app.py
└── templates/
    ├── index.html
    └── error.html
  • 文件名区分大小写:Linux系统下Error.html和error.html是两个文件,检查拼写和大小写是否一致;
  • 蓝图模板路径:如果用了蓝图,渲染模板时要指定蓝图前缀,比如蓝图名为main,则写render_template("main/error.html"),或者在蓝图初始化时配置template_folder参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 02:45:19