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

Ubuntu Server 22.04下Selenium模块报错DevToolsActivePort文件不存在

Selenium ChromeDriver "DevToolsActivePort file doesn't exist" 排查建议
  • 添加必要的无头模式补充参数
    服务器环境下仅用--headless可能不足以适配无图形环境,补充以下参数解决权限、资源和端口问题:

    options.add_argument('--headless=new')  # 新版无头模式,兼容性更优
    options.add_argument('--no-sandbox')    # 禁用沙箱机制,服务器无桌面环境时必备
    options.add_argument('--disable-dev-shm-usage')  # 规避/dev/shm空间不足导致的崩溃
    options.add_argument('--remote-debugging-port=9222')  # 明确指定调试端口,解决端口冲突
    
  • 检查Chrome与ChromeDriver的执行权限
    确认运行脚本的用户能执行这两个文件:

    ls -l /usr/bin/google-chrome /usr/bin/chromedriver
    

    若权限不足,执行:

    sudo chmod +x /usr/bin/google-chrome /usr/bin/chromedriver
    
  • 验证Chrome单独启动是否正常
    直接在终端运行Chrome无头模式,排除Selenium以外的问题:

    /usr/bin/google-chrome --headless=new --no-sandbox --disable-dev-shm-usage --dump-dom https://www.google.com
    

    如果这条命令报错,说明Chrome本身在服务器环境存在依赖缺失或权限问题,优先解决Chrome的问题。

  • 安装Chrome缺失的系统依赖
    Ubuntu Server默认缺少部分图形相关库,安装以下依赖:

    sudo apt-get install -y libnss3 libgconf-2-4 libfontconfig1 libxrender1 libxss1
    
  • 检查/tmp目录权限
    Chrome会在/tmp创建临时文件,确保目录权限正确:

    ls -ld /tmp
    

    正常权限应为drwxrwxrwt,若不符,执行:

    sudo chmod 1777 /tmp
    
  • 手动指定用户数据目录
    自定义一个可写的用户数据目录,避免默认目录的权限限制:

    options.add_argument('--user-data-dir=/tmp/chrome-user-data')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 00:16:07