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

如何程序化获取chrome://gpu内容?Chromium访问限制问询

问题解答

1. 能否解除Chromium对chrome://gpu的拦截限制?

不能。Chromium对chrome://前缀的内部页面设置了严格的访问限制,这是浏览器的核心安全设计——这类页面直接暴露浏览器内部状态、硬件交互逻辑等敏感信息,允许外部程序直接调用会带来严重安全风险。官方没有提供任何可解除该限制的配置项或命令行参数。

2. 程序化获取GPU信息的可行方案

如果无法绕过拦截,以下几种官方支持的方式比模拟操作更可靠:

方案一:使用Chrome DevTools Protocol(CDP)

这是Chromium原生的程序化控制接口,可直接获取结构化的GPU数据,无需模拟页面操作:

  • 先启动Chromium并开启远程调试端口:
    chromium --remote-debugging-port=9222
    
  • 通过CDP的GPU.getInfo方法获取详细信息,可借助Python的pyppeteer、selenium等库实现,示例代码:
    import asyncio
    from pyppeteer import launch
    
    async def get_gpu_info():
        browser = await launch(headless=True, args=['--no-sandbox'])
        page = await browser.newPage()
        # 直接调用CDP的GPU接口
        gpu_info = await page._client.send('GPU.getInfo')
        print(gpu_info)
        await browser.close()
    
    asyncio.get_event_loop().run_until_complete(get_gpu_info())
    
    该方法返回的是JSON格式的结构化数据,包含GPU硬件信息、驱动版本、支持特性等,比页面内容更易解析。

方案二:读取Chromium日志输出

启动Chromium时添加日志参数,让浏览器输出GPU相关日志:

chromium --enable-logging=stderr --v=1 2>&1 | grep -i gpu

通过过滤日志可提取GPU初始化、特性支持等信息,但数据结构不如CDP规整。

关于模拟操作的补充说明

你尝试的wtype、ydotool属于UI层面模拟,可靠性低且存在固有问题:

  • chrome://gpu的内容是通过gpu_internals.js动态渲染的,直接保存页面只能拿到静态框架,无法获取动态生成的内容;
  • 浏览器对内部页面的“另存为”逻辑有特殊处理,即使模拟操作也无法直接拿到完整渲染后的内容。

如果一定要获取渲染后的页面内容,也可以用CDP的Page.captureSnapshot方法抓取完整DOM,或通过Runtime.evaluate执行页面JS,直接提取gpu_internals.js生成的数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:40:47