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

EC2 Amazon Linux环境下Selenium出现SessionNotCreatedException本地正常

解决Amazon Linux EC2上Root用户运行Selenium Chrome爬虫的启动失败问题

问题重现

在Amazon Linux EC2实例上以root用户运行Selenium爬虫时,Chrome启动失败,报错DevToolsActivePort file doesn't exist或超时退出,即使Chrome和ChromeDriver版本匹配(均为121.0.6167.85),本地运行正常,此前EC2上也能正常运行。

关键修复步骤

问题核心在于root用户运行Chrome无头模式的权限限制,以及部分参数缺失/拼写错误,以下是针对性修复:

  • 修正参数拼写错误:原代码中--no-sand box存在空格,改为--no-sandbox
  • 添加root运行允许参数:--allow-root,Chrome默认禁止root用户启动
  • 禁用/dev/shm限制:添加--disable-dev-shm-usage,避免EC2实例上/dev/shm空间不足导致崩溃
  • 使用新版无头模式:将--headless改为--headless=new,新版无头模式兼容性更好
  • 指定临时用户数据目录:添加--user-data-dir=/tmp/chrome-user-data,避免权限问题导致无法创建用户数据目录

修改后的完整初始化代码

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--disable-application-cache')
# 新版无头模式
options.add_argument('--headless=new')
# 修正拼写错误的沙箱参数
options.add_argument('--no-sandbox')
# 允许root用户运行
options.add_argument('--allow-root')
# 禁用/dev/shm限制
options.add_argument('--disable-dev-shm-usage')
# 指定临时用户数据目录
options.add_argument('--user-data-dir=/tmp/chrome-user-data')
options.add_argument("--window-size=1920,1080")

# 固定指定对应版本的ChromeDriver
service = Service(ChromeDriverManager(driver_version="121.0.6167.85").install())
driver = webdriver.Chrome(service=service, options=options)

... scraping code ...

driver.quit()

额外验证步骤

  • 确认Chrome和ChromeDriver权限:执行chmod +x /usr/bin/chromedriver和chmod +x /usr/bin/google-chrome,确保文件可执行
  • 手动测试Chrome启动:在EC2终端执行google-chrome --headless=new --no-sandbox --allow-root --disable-dev-shm-usage --user-data-dir=/tmp/chrome-user-data --window-size=1920,1080 --dump-dom https://www.google.com,验证Chrome能否正常启动并获取页面内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 05:07:28