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

Selenium(Python)运行报GPU进程启动失败error_code=2问题求助

Selenium跨设备运行报错修复方案

报错根因

  • 代码存在基础缩进错误:原代码将install("selenium")、install("chromedriver_autoinstaller")两行依赖安装调用错误写在install()函数体内部,运行时会触发无限递归,栈溢出后代码直接中断,根本执行不到后续navegador = webdriver.Chrome()的变量定义逻辑,直接触发NameError: name 'navegador' is not defined报错,和Chrome是否提前启动没有直接关系。
  • GPU进程启动失败、Chrome崩溃报错属于目标设备环境兼容问题,通常由显卡驱动版本不匹配、系统UAC权限限制、Chrome硬件加速冲突导致,是Selenium驱动Chrome时的常见跨设备适配问题。

修复方案

  1. 修正代码缩进错误,将依赖安装调用移到install()函数外部,避免递归死循环。
  2. 给Chrome实例添加通用兼容启动参数,覆盖绝大多数个人设备的运行环境,解决GPU、沙箱相关的启动崩溃问题。
  3. 若需要复用已经打开的Chrome窗口,额外添加远程调试配置即可,无需关闭现有Chrome进程。

修复后可直接运行的完整代码

import subprocess, sys
def install(package):
    subprocess.check_call([sys.executable, "-m", "pip", "install", package])

# 修复缩进:将依赖安装调用移到函数外部
install("selenium")
install("chromedriver_autoinstaller")

from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from selenium.webdriver.common.by import By
import chromedriver_autoinstaller

chromedriver_autoinstaller.install()

chrome_options = Options()
# 修复GPU进程启动失败问题
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--disable-software-rasterizer")
# 修复沙箱权限不足导致的崩溃问题
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
# 可选:需要复用已打开的Chrome时,取消下一行注释,同时提前给Chrome快捷方式添加启动参数 --remote-debugging-port=9222
# chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")

navegador = webdriver.Chrome(options=chrome_options)
navegador.get("https://www.google.com")

补充说明

  • 如果添加参数后仍报GPU相关错误,直接将目标设备的Chrome浏览器升级到最新正式版,同时更新对应显卡的公版驱动即可解决。
  • 复用已打开Chrome的配置方法:右键Chrome桌面快捷方式,选择「属性」,在「目标」栏原有路径末尾添加空格和--remote-debugging-port=9222,保存后关闭所有Chrome后台进程,用修改后的快捷方式启动Chrome,再运行代码就会直接操作现有窗口,不会启动新的Chrome实例。

内容的提问来源于stack exchange,提问作者Sávio Carvalho

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 03:51:19