player-none 发表于 6 天前

Selenium报错GPU state invalid after WaitForGetOffsetInRange

大概这样:
DevTools listening on ws://127.0.0.1:49858/devtools/browser/xxxxxxxxxxxxxxxxxxxxxxxx
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
I0000 00:00:XXXXXXXXXXXXX voice_transcription.cc:58] Registering VoiceTranscriptionCapability
handshake failed; returned -1, SSL error code 1, net_error -101
handshake failed; returned -1, SSL error code 1, net_error -101
GPU state invalid after WaitForGetOffsetInRange.x

很烦……

不知道是什么坑,于是

options = ChromeOptions()
options.add_argument('--no-sandbox')
chrome = Chrome(options)

又来一个

(略):services\network\p2p\socket_manager.cc:147] Failed to resolve address for stun.l.google.com., errorcode: -105



options = ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.add_argument('--ignore-ssl-errors')
options.add_argument('--no-sandbox')
chrome = Chrome(options)

仍无效,最终

options = ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-logging'])
options.add_argument('--no-sandbox')
chrome = Chrome(options)

变成悄无声息地崩溃







有何解决方法否

FishC 发表于 6 天前

针对Selenium报错"GPU state invalid after WaitForGetOffsetInRange"及其他相关问题,可尝试以下解决方案:

推荐组合参数:

from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')# 关键:解决共享内存问题
options.add_argument('--disable-gpu')         # 关键:禁用GPU加速
options.add_argument('--ignore-certificate-errors')
options.add_argument('--disable-software-rasterizer')# 禁用软件光栅化
options.add_argument('--disable-extensions')    # 禁用扩展
options.add_argument('--disable-infobars')      # 禁用信息栏
options.add_experimental_option('excludeSwitches', ['enable-logging'])# 禁用控制台日志

driver = Chrome(options=options)
driver.set_window_size(1280, 1024)# 设置固定窗口尺寸


关键参数说明:
1. --disable-dev-shm-usage:解决Docker/Linux下的共享内存问题
2. --disable-gpu:强制禁用GPU加速(主要解决GPU报错)
3. --disable-software-rasterizer:禁用备用渲染器
4. 设置固定窗口尺寸可避免某些渲染问题

其他建议:
1. 确保浏览器和驱动版本匹配:
   - 访问 chrome://version 查看Chrome版本
   - 下载对应版本的 chromedriver
2. 更新必要组件:
   sudo apt update && sudo apt upgrade -y# Linux
   pip install --upgrade selenium chromedriver-autoinstaller
3. 如果使用Docker,基础镜像建议使用:
   selenium/standalone-chrome

排查步骤:
1. 先仅添加 --disable-gpu 和 --disable-dev-shm-usage
2. 逐步添加其他参数测试
3. 检查 /var/log/syslog 或系统日志获取更详细错误

若仍崩溃,建议在启动代码中添加异常捕获:

try:
    driver = Chrome(options=options)
except Exception as e:
    print(f"浏览器启动失败: {str(e)}")
    # 添加日志记录逻辑


以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: Selenium报错GPU state invalid after WaitForGetOffsetInRange