鱼C论坛

 找回密码
 立即注册
查看: 58|回复: 1

Selenium报错GPU state invalid after WaitForGetOffsetInRange

[复制链接]
发表于 4 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大概这样:
  1. DevTools listening on ws://127.0.0.1:49858/devtools/browser/xxxxxxxxxxxxxxxxxxxxxxxx
  2. WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
  3. I0000 00:00:XXXXXXXXXXXXX voice_transcription.cc:58] Registering VoiceTranscriptionCapability
  4. [XXXXXXXXXXXXXXXXXXXXXXXXXXX ERROR:net\socket\ssl_client_socket_impl.cc:878] handshake failed; returned -1, SSL error code 1, net_error -101
  5. [XXXXXXXXXXXXXXXXXXXXXXXXXXX ERROR:net\socket\ssl_client_socket_impl.cc:878] handshake failed; returned -1, SSL error code 1, net_error -101
  6. [XXXXXXXXXXXXXXXXXXXXXXXXXXX ERROR:gpu\ipc\client\command_buffer_proxy_impl.cc:327] GPU state invalid after WaitForGetOffsetInRange.x
复制代码


很烦……

不知道是什么坑,于是

  1. options = ChromeOptions()
  2. options.add_argument('--no-sandbox')
  3. chrome = Chrome(options)
复制代码


又来一个

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




  1. options = ChromeOptions()
  2. options.add_argument('--ignore-certificate-errors')
  3. options.add_argument('--ignore-ssl-errors')
  4. options.add_argument('--no-sandbox')
  5. chrome = Chrome(options)
复制代码


仍无效,最终

  1. options = ChromeOptions()
  2. options.add_experimental_option('excludeSwitches', ['enable-logging'])
  3. options.add_argument('--no-sandbox')
  4. chrome = Chrome(options)
复制代码


变成悄无声息地崩溃







有何解决方法否
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 4 天前 | 显示全部楼层
针对Selenium报错"GPU state invalid after WaitForGetOffsetInRange"及其他相关问题,可尝试以下解决方案:

推荐组合参数:
[code=python]
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)  # 设置固定窗口尺寸
[/code]

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

其他建议:
1. 确保浏览器和驱动版本匹配:
   - 访问 chrome://version 查看Chrome版本
   - 下载对应版本的 chromedriver
2. 更新必要组件:
  
  1. sudo apt update && sudo apt upgrade -y  # Linux
  2.    pip install --upgrade selenium chromedriver-autoinstaller
复制代码

3. 如果使用Docker,基础镜像建议使用:
   selenium/standalone-chrome

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

若仍崩溃,建议在启动代码中添加异常捕获:
[code=python]
try:
    driver = Chrome(options=options)
except Exception as e:
    print(f"浏览器启动失败: {str(e)}")
    # 添加日志记录逻辑
[/code]

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-23 17:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表