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

无头Chrome无障碍树导出及无GUI程序化访问问题咨询

无头Chrome导出无障碍树的方法

首先明确:没有和--dump-dom直接等效的命令行选项来导出无障碍树。不过可以通过Chrome DevTools Protocol(CDP)实现无GUI下的程序化访问,以下是具体方案:

1. 命令行配合远程调试调用CDP接口

启动无头Chrome时开启远程调试端口,之后通过HTTP请求调用Accessibility相关接口:

  • 第一步:启动带远程调试的无头Chrome
google-chrome --headless --remote-debugging-port=9222 https://www.google.com
  • 第二步:访问http://localhost:9222/json,找到目标页面对应的id字段(即调试会话ID)
  • 第三步:调用Accessibility.getFullAXTree接口获取完整无障碍树,用curl示例:
curl -X POST http://localhost:9222/json/version/<会话ID> -d '{"method":"Accessibility.getFullAXTree"}'

返回的JSON数据就是完整的无障碍树结构。

2. 用Puppeteer程序化获取(推荐)

Puppeteer是Chrome官方的Node.js库,封装了CDP,更适合自动化场景:

  • 先安装Puppeteer:
npm install puppeteer
  • 编写脚本示例:
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: 'new' }); // 使用新版无头模式
  const page = await browser.newPage();
  await page.goto('https://www.google.com');
  
  // 获取无障碍树快照
  const axTree = await page.accessibility.snapshot();
  console.log(JSON.stringify(axTree, null, 2)); // 格式化输出到标准输出
  
  await browser.close();
})();

运行脚本后,会直接输出结构化的无障碍树JSON数据,适合后续处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:09:55