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

如何在WSL2环境中使用Python Selenium?Chrome启动异常求助

WSL2环境下Selenium Chrome启动失败解决方案

核心原因

报错本质是WSL2默认无图形界面、沙箱权限限制、共享内存不足三个核心问题导致Chrome无法正常启动,CPU频率文件读取错误为非致命警告,可通过参数忽略。

解决步骤

  • 步骤1:添加Chrome必填启动参数
    在Selenium初始化ChromeOptions时必须加入以下参数,示例代码如下:
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    chrome_options = Options()
    # 启用新版无头模式,兼容性优于旧版--headless
    chrome_options.add_argument("--headless=new")
    # 关闭沙箱模式,WSL2环境无root权限时必须开启
    chrome_options.add_argument("--no-sandbox")
    # 禁用/dev/shm使用,规避WSL2共享内存过小导致的崩溃
    chrome_options.add_argument("--disable-dev-shm-usage")
    # 禁用GPU加速,解决WSL2显卡适配导致的报错
    chrome_options.add_argument("--disable-gpu")
    # 指定远程调试端口,解决DevToolsActivePort不存在的报错
    chrome_options.add_argument("--remote-debugging-port=9222")
    # 忽略CPU频率读取警告,消除开头的两个file_io_posix.cc报错
    chrome_options.add_argument("--disable-cpu-frequency-monitoring")
    
    driver = webdriver.Chrome(options=chrome_options)
    
  • 步骤2:安装Chrome运行依赖
    运行以下命令安装Chrome所需的系统依赖,避免缺库导致启动失败:
    sudo apt update && sudo apt install -y libnss3 libxss1 libasound2 libatk-bridge2.0-0 libgtk-3-0
    
  • 步骤3:验证Chrome与Chromedriver版本匹配
    分别运行以下命令查看版本,确保两者大版本号完全一致:
    # 查看Chrome版本
    google-chrome --version
    # 查看Chromedriver版本
    chromedriver --version
    
    若版本不匹配,下载对应版本的Chromedriver放到/usr/local/bin目录下,执行sudo chmod +x /usr/local/bin/chromedriver赋予执行权限即可。
  • 步骤4:测试Chrome无头模式是否正常
    直接在终端运行以下命令,无报错即为Chrome运行正常:
    google-chrome --headless=new --no-sandbox --disable-gpu https://www.baidu.com
    

完成以上步骤后重新运行Selenium脚本即可正常启动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:24:04