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

在EC2实例上用Python脚本启动Chrome报错127如何解决?

解决EC2实例上Selenium启动Chrome时的WebDriverException(Status code 127)

这个错误码127其实很典型——要么是Chrome浏览器没安装,要么是ChromeDriver找不到依赖/和Chrome版本不匹配,再或者是你没考虑到EC2是**无头环境(无图形界面)**导致Chrome启动失败。我给你一步步拆解解决方案:

1. 先安装Chrome浏览器

你只提到安装了Selenium,但EC2默认不带Chrome。以Ubuntu/Debian系的EC2实例为例,执行以下命令安装轻量版Chrome(Chromium):

sudo apt update
sudo apt install -y chromium-browser

2. 确保ChromeDriver与Chrome版本严格匹配

ChromeDriver的主版本必须和你安装的Chrome完全一致(比如Chrome是114.x,ChromeDriver也要用114.x版本)。不想手动管理版本的话,可以直接安装系统适配的驱动:

sudo apt install -y chromium-chromedriver

安装后可以用which chromedriver验证驱动路径,确保脚本能找到它。

3. 修改脚本适配EC2无头环境

EC2没有图形界面,必须用无头模式启动Chrome,还要加几个参数避免沙箱和内存问题。修改后的脚本如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

url = 'http://www.srcmake.com/'

# 配置Chrome无头模式及必要参数
chrome_options = Options()
chrome_options.add_argument('--headless')  # 核心:无需图形界面的无头模式
chrome_options.add_argument('--no-sandbox')  # EC2环境下必须禁用沙箱
chrome_options.add_argument('--disable-dev-shm-usage')  # 避免/dev/shm空间不足导致崩溃
chrome_options.add_argument('--disable-gpu')  # 无头环境无需GPU加速

# 初始化Driver,若chromedriver在系统PATH中可省略executable_path
driver = webdriver.Chrome(options=chrome_options, executable_path='/usr/bin/chromedriver')
driver.get(url)

# 打印页面标题验证是否成功加载
print("页面标题:", driver.title)

# 用完记得关闭Driver,避免资源泄漏
driver.quit()

4. 补全Chrome运行所需系统依赖

即使装了Chrome,也可能因为缺少系统库导致启动失败,执行以下命令安装依赖:

sudo apt install -y libnss3 libgconf-2-4 libxss1 libappindicator1 libindicator7

5. 检查ChromeDriver的执行权限

如果以上步骤都完成仍报错,可能是ChromeDriver没有执行权限,给它添加权限:

chmod +x /usr/bin/chromedriver

按这个流程操作后,应该就能解决Status code 127的问题——本质就是ChromeDriver无法正常启动Chrome,要么缺软件,要么缺适配配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:11:42