Puppeteer 中文文档v25.8.0

Accessibility.snapshot() 方法

捕获无障碍树的当前状态。返回的对象表示页面的根无障碍节点。

签名

class Accessibility {
  snapshot(options?: SnapshotOptions): Promise<SerializedAXNode | null>;
}

参数

参数

类型

说明

options

SnapshotOptions

(可选)

返回值:

Promise<SerializedAXNode | null>

表示该快照的 AXNode 对象。

备注

注意 Chrome 无障碍树包含在许多平台和大多数屏幕阅读器上都不会用到的节点。Puppeteer 也会丢弃它们,以便更轻松地处理树,除非将 interestingOnly 设置为 false

示例 1

转储整个无障碍树的示例:

const snapshot = await page.accessibility.snapshot();
console.log(snapshot);

示例 2

记录焦点节点名称的示例:

const snapshot = await page.accessibility.snapshot();
const node = findFocusedNode(snapshot);
console.log(node && node.name);

function findFocusedNode(node) {
  if (node.focused) return node;
  for (const child of node.children || []) {
    const foundNode = findFocusedNode(child);
    return foundNode;
  }
  return null;
}