Ubuntu22 DigitalOcean VPS中Selenium无法启动Chromium问题求助
解决VPS上Selenium启动Chrome/Chromium失败的问题
核心修复:添加无头模式及必要启动参数
VPS没有图形界面,必须启用无头模式,同时补充几个关键参数解决DevToolsActivePort错误。修改代码如下:
from selenium import webdriver from selenium.webdriver.chrome.service import Service options = webdriver.ChromeOptions() # 启用新版无头模式(兼容更多特性) options.add_argument('--headless=new') # 禁用沙箱(VPS环境下必备,避免权限限制) options.add_argument('--no-sandbox') # 禁用共享内存,防止因内存不足导致崩溃 options.add_argument('--disable-dev-shm-usage') # 指定固定调试端口,避免端口冲突 options.add_argument('--remote-debugging-port=9222') # 保留你的扩展配置 options.add_extension(pluginfile) # 用Service类管理驱动(更规范,避免路径问题) service = Service(executable_path='chromedriver') driver = webdriver.Chrome(service=service, options=options)
额外排查步骤
- 安装Chrome/Chromium依赖库:
终端执行以下命令补全缺失的系统依赖:sudo apt update && sudo apt install -y libnss3-dev libgconf-2-4 libfontconfig1 libx11-xcb1 libxcb-dri3-0 - 确认chromedriver权限:
执行chmod +x chromedriver确保驱动可执行,或者将其移动到系统PATH目录(如/usr/local/bin),这样代码中无需指定完整路径。 - 替换Snap安装的Chromium(可选):
若使用Snap版本的Chromium出现兼容性问题,改用apt安装更稳定:
此时chromedriver路径为sudo apt install -y chromium-browser chromium-chromedriver/usr/lib/chromium-browser/chromedriver,直接在代码中使用该路径即可。
内容的提问来源于stack exchange,提问作者ira
相关产品推荐
相关产品推荐

