API 参考(Web)
当你需要自定义 Midscene 的浏览器自动化 Agent,或查阅 Web 专属构造参数时,请参考本篇。关于通用参数(报告、Hook、缓存等),请阅读API 参考(通用)。
Action Space(动作空间)
PuppeteerAgent、PlaywrightAgent 和 Chrome Bridge 共用一套 Action Space,Midscene Agent 在规划任务时可以使用这些操作:
Tap—— 左键点击元素。RightClick—— 右键点击元素。DoubleClick—— 双击元素。Hover—— 悬停目标元素。Input—— 输入文本,支持replace/append/clear模式。KeyboardPress—— 按下指定键(可在按键前先聚焦目标)。Scroll—— 以元素为起点或从屏幕中央滚动,支持滚动到顶/底/左/右。DragAndDrop—— 从一个元素拖拽到另一个元素。LongPress—— 长按目标元素,可选自定义时长。Swipe—— 触摸式滑动(开启enableTouchEventsInActionSpace时可用)。ClearInput—— 清空输入框内容。Navigate—— 在当前标签页打开指定 URL。Reload—— 刷新当前页面。GoBack—— 浏览器后退。
PuppeteerAgent
当你需要在 Puppeteer 控制的浏览器里复用 Midscene 的 AI 操作能力时使用。
导入
构造器
浏览器特有选项
除了通用 Agent 参数,Puppeteer 还提供:
forceSameTabNavigation: boolean—— 限制始终在当前标签页内导航,默认true。waitForNavigationTimeout: number—— 当操作触发页面跳转时的最长等待时间,默认5000(设为0表示不等待)。waitForNetworkIdleTimeout: number—— 每次操作后等待网络空闲的时间,默认2000(设为0关闭)。enableTouchEventsInActionSpace: boolean—— 在动作空间里增加触摸手势(如滑动),用于需要触摸事件的页面,默认false。forceChromeSelectRendering: boolean—— 强制select元素使用 Chrome 的 base-select 样式,避免系统原生样式导致截图/元素提取不可见;需要 Puppeteer >24.6.0。customActions: DeviceAction[]—— 借助defineAction注册自定义动作,让规划器可以调用领域特定步骤。
使用说明
Info
- 每个页面一个 Agent:默认情况下(
forceSameTabNavigation: true)Midscene 会拦截新标签并在当前页打开,便于调试;若想保留新标签行为可设为false,并为每个标签创建新的 Agent。 - 更多交互方法请参考 API 参考(通用)。
示例
快速上手
连接远程 Puppeteer 浏览器
另请参阅
- 集成到 Puppeteer 获取安装、Fixture 与远程 CDP 配置。
PlaywrightAgent
在 Playwright 浏览器中使用 Midscene 以支持带 AI 的测试或自动化流程。
导入
构造器
浏览器特有选项
forceSameTabNavigation: boolean—— 强制在当前标签页内执行,默认true。waitForNavigationTimeout: number—— 等待导航完成的时间,默认5000(设为0关闭)。waitForNetworkIdleTimeout: number—— 每次操作后等待网络空闲的时间,默认2000(设为0关闭)。enableTouchEventsInActionSpace: boolean—— 在动作空间里增加触摸手势(如滑动),用于需要触摸事件的页面,默认false。forceChromeSelectRendering: boolean—— 强制select元素使用 Chrome 的 base-select 样式,避免系统原生样式导致截图/元素提取不可见;需要 Playwright ≥1.52.0。customActions: DeviceAction[]—— 追加项目特有的动作,供规划器调用。
使用说明
Info
- 每个页面一个 Agent:默认
forceSameTabNavigation为true,Midscene 会拦截新标签确保稳定性;如需新标签请设为false并为每个标签创建新的 Agent。 - 更多交互方法请参考 API 参考(通用)。
示例
快速上手
使用 Midscene fixture 扩展 Playwright 测试
另请参阅
- 集成到 Playwright 获取安装、Fixture 用法和更多配置。
Chrome Bridge Agent
Bridge Mode 允许 Midscene 通过扩展控制当前桌面 Chrome 标签页,而无需再启动独立的自动化浏览器。
导入
构造器
桥接配置
closeNewTabsAfterDisconnect?: boolean—— 是否在销毁时自动关闭桥接创建的新标签页,默认false。allowRemoteAccess?: boolean—— 是否允许远程机器连接,默认false(监听127.0.0.1)。host?: string—— 自定义 Bridge Server 的监听地址,优先级高于allowRemoteAccess。port?: number—— Bridge Server 端口,默认3766。
完整安装与能力说明,见 Chrome 插件桥接模式。
使用说明
Info
请先调用 connectCurrentTab 或 connectNewTabWithUrl 再执行其他操作。每个 AgentOverChromeBridge 只能连接一个标签页;destroy 之后需要重新创建实例。
方法
connectCurrentTab()
options.forceSameTabNavigation(默认true)会拦截新标 签并在当前页打开,方便调试;若想保留新标签行为可设为false,但需要为每个新标签创建新的 Agent。- 连接当前激活标签页,成功后返回
Promise<void>,如果扩展未允许连接会报错。
connectNewTabWithUrl()
url—— 新标签页要打开的地址。options—— 与connectCurrentTab相同。- 打开新标签并连接成功后返回
Promise<void>。
destroy()
closeNewTabsAfterDisconnect—— 运行时覆盖构造器配置,为true时销毁时关闭桥接创建的新标签页。- 清理桥接连接和本地服务完成后返回
Promise<void>。
示例
打开新的桌面标签页
附着到当前标签页
另请参阅
- API 参考(通用) 查看共享的 Agent 方法。
- 桥接模式 了解扩展安装、执行顺序与 YAML 用法。

