Shadow DOM
DevBridge 完全支持 open 和 closed Shadow DOM,包括嵌套 shadow 树。
Open Shadow DOM
Open shadow root 会被自动遍历。open shadow 树内的元素在无障碍树中带有 [shadow-open] 标记,使用 ref_N 格式引用。
Closed Shadow DOM
Closed shadow root(JavaScript 中 shadowRoot 为 null)通过 Chrome DevTools Protocol 后端访问。元素标记为 [shadow-closed],使用引用格式:
s{hostBackendId}::ref_NDevBridge 内部使用 CDP 的 pierceClosedShadow、getBoxModelForBackend 和 callFunctionOnBackend 与 closed shadow 元素交互,无需任何页面级访问权限。
支持的工具
所有读取和交互工具均支持 Shadow DOM:
read_page— 内联包含 open 和 closed shadow 内容find— 在 shadow 树内搜索computer(click、hover、type)— 与 shadow 元素交互form_input— 填写 Shadow DOM 内的输入框(兼容 React)