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

Ubuntu无GUI服务器运行Selenium+Chrome无头脚本失败,如何解决?

解决方案

从错误信息来看,问题核心是root用户运行Chrome未禁用沙箱,以及无头模式下的DevTools端口异常。按以下方式修改脚本即可解决:

1. 补充Chrome启动参数

在原有Options配置中添加3个关键参数:

  • --no-sandbox:允许root用户启动Chrome(Chrome默认禁止root身份无沙箱运行)
  • --disable-dev-shm-usage:规避服务器/dev/shm分区空间不足导致的浏览器崩溃
  • --remote-debugging-port=9222:指定调试端口,解决DevToolsActivePort文件不存在的问题

2. 修改后的完整脚本

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

options = Options()
options.page_load_strategy = 'eager'
options.add_argument('--headless=new')
options.add_argument('--disable-gpu')
# 新增适配服务器环境的参数
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--remote-debugging-port=9222')

driver = webdriver.Chrome(options=options)

额外说明

  • 若后续切换为非root用户执行脚本,可移除--no-sandbox参数,非root用户默认支持沙箱模式
  • Selenium 4.10+的自动驱动管理会自动匹配服务器Chrome 117版本的驱动,无需手动安装ChromeDriver

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 01:40:00