API 参考(Web)
当你需要自定义 Midscene 的浏览器自动化 Agent,或查阅 Web 专属构造参数时,请参考本篇。关于通用参数(报告、Hook、缓存等),请阅读API 参考(通用)。
Action Space(动作空间)
PuppeteerAgent、PlaywrightAgent 和 Chrome Bridge 共用一套 Action Space,Midscene Agent 在规划任务时可以使用这些操作:
Tap—— 左键点击元素。RightClick—— 右键点击元素。DoubleClick—— 双击元素。Hover—— 悬停目标元素。Input—— 输入文本,支持replace/typeOnly/clear模式(append是typeOnly的已废弃别名)。KeyboardPress—— 按下指定键(可在按键前先聚焦目标)。Scroll—— 以元素为起点或从屏幕中央滚动,支持滚动到顶/底/左/右。DragAndDrop—— 从一个元素拖拽到另一个元素。LongPress—— 长按目标元素,可选自定义时长。Swipe—— 触摸式滑动(开启enableTouchEventsInActionSpace时可用)。Pinch—— 双指缩放手势,用于放大/缩小(开启enableTouchEventsInActionSpace时可用;Playwright 仅支持 Chromium 内核浏览器)。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。keyboardTypeDelay: number—— 透传给 Puppeteerpage.keyboard.type的每字符延迟(毫秒)。默认值为undefined,表示 Midscene 不传该选项,使用 Puppeteer 自身默认值。通常无需配置;只有当受控输入框在快速输入下出现丢字等特殊情况时,再调大该值(例如80)。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。keyboardTypeDelay: number—— 透传给 Playwrightpage.keyboard.type的每字符延迟(毫秒)。默认值为undefined,表示 Midscene 不传该选项,使用 Playwright 自身默认值。通常无需配置;只有当受控输入框在快速输入下出现丢字等特殊情况时,再调大该值(例如80)。forceChromeSelectRendering: boolean—— 强制select元素使用 Chrome 的 base-select 样式,避免系统原生样式导致截图/元素提取不可见;需要 Playwright ≥1.52.0。customActions: DeviceAction[]—— 追加项目特有的动作,供规划器调用。
使用说明
Info
- 每个页面一个 Agent:默认
forceSameTabNavigation为true,Midscene 会拦截新标签确保稳定性;如需新标签请设为false并为每个标签创建新的 Agent。 - 更多交互方法请参考 API 参考(通用)。
示例
快速上手
使用 Midscene fixture 扩展 Playwright 测试
这个 fixture 也支持传入 PlaywrightAgent 的全部配置,因此你可以在创建 fixture 时统一配置共享的 Agent 行为。testId、reportFileName、groupName、groupDescription 这类按测试自动生成的元信息仍由 fixture 管理。
另请参阅
- 集成到 Playwright 获取安装、Fixture 用法和更多配置。
Chrome Bridge Agent
Bridge Mode 允许 Midscene 通过扩展控制当前桌面 Chrome 标签页,而无需再启动独立的自动化浏览器。

