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

在Cpanel上运行Selenium失败,chromedriver意外退出错误码-5求助

Chromedriver意外退出(状态码-5)问题解决

环境信息

  • Selenium版本:4.8.2
  • 操作系统:CentOS v7.9.2009 STANDARD standard
  • Cpanel版本:108.0.14

使用的代码

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument("--disable-dev-shm-using")
chrome_options.add_argument("disable-infobars")
chrome_options.add_argument("--remote-debugging-port=8833")
    
driver = webdriver.Chrome(service=ChromiumService(ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install()), options=chrome_options)

遇到的错误

selenium.common.exceptions.WebDriverException: Message: Service /home/vplaid/.wdm/drivers/chromedriver/linux64/111.0.5563/chromedriver unexpectedly exited. Status code was: -5

解决方法

  • 清理无效参数:代码里--disable-dev-shm-using是错误参数,直接删除;disable-infobars缺少开头的--,改为--disable-infobars。无效参数会干扰Chrome启动流程。
  • 指定浏览器二进制路径:CentOS环境下,WebDriver Manager可能无法自动识别Chromium/Chrome的安装路径,手动添加:
    chrome_options.binary_location = "/usr/bin/chromium-browser"  # 若为Chrome则用"/usr/bin/google-chrome"
    
  • 确保浏览器与Driver版本匹配:错误中Driver版本为111.0.5563,检查系统中安装的Chromium/Chrome主版本号是否一致。版本不匹配时,要么升级浏览器,要么指定Driver版本安装:
    driver = webdriver.Chrome(service=ChromiumService(ChromeDriverManager(chrome_type=ChromeType.CHROMIUM, version="111.0.5563").install()), options=chrome_options)
    
  • 补充无头模式必要参数:CentOS下无头模式需要额外参数保证稳定运行:
    chrome_options.add_argument('--disable-gpu')
    chrome_options.add_argument('--window-size=1920x1080')
    chrome_options.add_argument('--headless=new')  # Selenium 4.8+推荐使用新版无头模式
    
  • 检查目录权限:确认运行代码的用户对/home/vplaid/.wdm/目录拥有读写权限,必要时调整目录权限:
    chmod -R 755 /home/vplaid/.wdm/
    
  • 移除不必要的远程调试端口:如果不需要远程调试功能,删除--remote-debugging-port=8833参数,避免端口冲突或权限限制。

修正后的示例代码

from selenium import webdriver
from selenium.webdriver.chrome.service import ChromiumService
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeType

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--headless=new')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--disable-infobars')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--window-size=1920x1080')
# 根据实际浏览器安装路径调整
chrome_options.binary_location = "/usr/bin/chromium-browser"

driver = webdriver.Chrome(service=ChromiumService(ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install()), options=chrome_options)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 06:37:40