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

VPS部署Selenium遇Chrome启动异常问题求助

解决VPS上Selenium Chrome启动失败的问题

核心问题分析

报错提示DevToolsActivePort file doesn't exist和Chrome异常退出,本质是VPS无桌面环境下Chrome启动参数不全、依赖缺失或版本不匹配导致。

具体解决步骤

1. 补充完整的Chrome启动参数

替换现有配置,使用更适配无头环境的参数:

from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 启用新版无头模式,兼容性更强
chrome_options.add_argument("--headless=new")
# 禁用沙箱机制,VPS非root用户必备
chrome_options.add_argument("--no-sandbox")
# 解决/dev/shm空间不足问题
chrome_options.add_argument("--disable-dev-shm-usage")
# 禁用GPU加速,无头环境不需要
chrome_options.add_argument("--disable-gpu")
# 指定窗口大小,避免页面布局异常
chrome_options.add_argument("--window-size=1920,1080")
# 显式指定调试端口,避免端口冲突
chrome_options.add_argument("--remote-debugging-port=9222")
# 可选:如果Chrome路径不明确,手动指定
chrome_options.binary_location = "/usr/bin/google-chrome"

driver = webdriver.Chrome(service=s, options=chrome_options)

2. 确保Chrome与ChromeDriver版本完全匹配

  • 执行命令查看VPS上Chrome版本:
    google-chrome --version
    
  • 下载对应版本的ChromeDriver,替换当前使用的驱动文件,保证主版本号一致(比如Chrome 120.x对应ChromeDriver 120.x)。

3. 安装Chrome运行依赖库

根据VPS的系统类型执行对应命令:

  • Debian/Ubuntu系统:
    apt-get update && apt-get install -y libnss3 libgconf-2-4 libxss1 libappindicator1 libindicator7 libasound2 libatk-bridge2.0-0 libgtk-3-0
    
  • CentOS/RHEL系统:
    yum install -y libX11 libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender libXtst cups-libs libXScrnSaver libXcomposite alsa-lib atk gtk3
    

4. 检查运行权限

  • 尽量避免用root用户运行脚本,创建普通用户执行更稳定;
  • 如果必须用root用户,需额外添加参数:
    chrome_options.add_argument("--disable-setuid-sandbox")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 07:28:08