SuperAPI AI 工具集

cdp

编程与开发

查看项目

更新于 10-16 01:19

技能介绍

用途:在持久化 Node 守护进程中执行 JavaScript,通过 CDP 驱动 Chromium,提供 browser、page、locator 三层 API,用于读取页面可访问性快照并执行受保护操作。

主要能力:browser.connect() 连接浏览器,browser.tabs() 查看标签,browser.attach(targetId,{allowedOrigins}) 或 browser.open(url,{allowedOrigins}) 绑定目标;page.snapshot() 返回 {id,url,title,tree,diff,truncated,omissions},ref 由内部管理;page.locator(ref 或 CSS)、page.getByRole(role,{name}) 定位元素;locator.click()/fill()/press()/selectOption()/scrollIntoView() 执行受保护操作;page.frames()、page.goto()、page.info()、page.signals()、page.close()/dispose() 管理页面;page.observe()/page.act() 支持有界决策;page.cdp() 可显式调用原始 CDP。

使用方式:用带引号的 heredoc 执行连贯脚本,支持顶层 await,多语句需 return;跨调用状态存于 globalThis。操作默认使用受信任 CDP 鼠标/键盘输入,动作会校验身份、来源、新鲜度与可操作性,执行一次并回读。fill 与 selectOption 自动校验新值;click/key 需提供同步 verify(snapshot) 或权威回读。超时默认 10 秒、最大 60 秒。

适用场景:需要精确、可验证地驱动 Chromium 页面、读取可访问性快照、执行受控点击/填写/选择/导航的自动化任务。

限制:来源须为 1–32 个精确 HTTP(S) origin,不含路径或通配符;ref 在下次快照、原始调用、动作或文档变化后失效;快照默认上限 50,000 字符、深度 50、32 帧,溢出抛错;帧动作、闭合 shadow-root、canvas 及不支持的自定义控件会失败关闭;不是完整 Playwright 兼容,无选择器 DSL、nth 回退、自动等待/重试或富文本编辑器填充;敏感控件被排除,受保护/密码类 AX 值被脱敏,但不等于 DLP。stale 需重新取证,blocked/origin denial 不得绕过,outcome_unknown 不得自动重放。原始 CDP 不强制受保护 API 的来源策略。并发时勿调用 session.use(),应按显式 session ID 路由。更新后对比 --version 与 --status;--restart 会丢失守护进程全局变量与附件,需重连重绑。