集成到 Puppeteer
Puppeteer 是一个 Node.js 库,它通过 DevTools 协议或 WebDriver BiDi 提供控制 Chrome 或 Firefox 的高级 API。Puppeteer 默认在无界面模式(headless)下运行,但可以配置为在可见的浏览器模式(headed)中运行。
你可以在这里看到向 Puppeteer 集成的样例项目:https://github.com/web-infra-dev/midscene-example/blob/main/puppeteer-demo
这里还有一个 Playwright 和 Vitest 结合的样例项目:https://github.com/web-infra-dev/midscene-example/tree/main/playwright-with-vitest-demo
配置 AI 模型服务
通过环境变量设置模型。选择模型时,请参考模型策略。
全部配置项请参考模型配置。
集成 Midscene Agent
第一步:安装依赖
第二步:编写脚本
编写下方代码,保存为 ./demo.ts
第三步:运行
使用 tsx 来运行,你会看到命令行打印出了耳机的商品信息:
更多 Agent 的 API 讲解请参考 API 参考。
第四步:查看运行报告
当上面的命令执行成功后,会在控制台输出:Midscene - report file updated: /path/to/report/some_id.html,通过浏览器打开该文件即可看到报告。
Advanced
关于在新标签页打开
PuppeteerAgent 是 page-level Agent:每个实例都与对应的页面唯一绑定。为了方便开发者调试,Midscene 默认拦截了新 tab 的页面(如点击一个带有 target="_blank" 属性的链接),将其改为在当前页面打开。
如果你想恢复在新标签页打开的行为,同时让当前 Agent 仍留在原页面,可以设置 forceSameTabNavigation 为 false,并自行为每个新标签页创建新的 Agent 实例。
如果一个 Agent 需要管理整个 browser 内的页面切换,请使用 PuppeteerBrowserAgent。如果后续操作要自动继续在新打开的标签页中执行,请开启 autoFollowNewPage。

