轻松实现浏览器自动化——AI浏览器自动化框架Stagehand

The AI Browser Automation Framework

项目简介

The AI Browser Automation Framework 是一个先进的浏览器自动化工具,它结合了自然语言处理和传统编程,让开发者能够高效、灵活地执行网页自动化任务。通过选择使用代码或自然语言,Stagehand使得在生产环境中进行浏览器自动化变得更加简单和高效。

为什么选择Stagehand?

在现有的浏览器自动化工具中,如Selenium、Playwright或Puppeteer,往往需要编写较低级的代码,或者使用高层代理,这在生产中可能会带来不可预测性。Stagehand则通过灵活的代码与自然语言的选择,为开发者提供了更便捷的自动化解决方案。

  1. 编程与自然语言的灵活选择:在面对陌生页面时,可以使用AI辅助导航,而当知道具体操作时,则可以直接使用代码。

  2. 动作预览与缓存:Stagehand允许你在运行之前预览AI动作,并支持缓存可重复的动作,从而节省时间和费用。

  3. 一行代码集成计算机使用模型:Stagehand提供了一行代码将先进的计算机使用模型与浏览器集成,简化了复杂操作的实现。

使用示例

下面是一个使用Stagehand构建浏览器自动化的示例:

typescript 复制代码
// 使用Playwright的功能在页面对象上
const page = stagehand.page;
await page.goto("https://github.com/browserbase");

// 使用act()执行单个动作
await page.act("click on the stagehand repo");

// 使用计算机使用代理处理较大操作
const agent = stagehand.agent({
    provider: "openai",
    model: "computer-use-preview",
});
await agent.execute("Get to the latest PR");

// 使用extract()从页面中读取数据
const { author, title } = await page.extract({
  instruction: "extract the author and title of the PR",
  schema: z.object({
    author: z.string().describe("The username of the PR author"),
    title: z.string().describe("The title of the PR"),
  }),
});

开始使用Stagehand

开始使用Stagehand只需一行代码,或者查看我们的快速入门指南获取更多信息:

bash 复制代码
npx create-browser-app

从源代码构建并运行

请按照以下步骤从源代码构建并运行Stagehand:

bash 复制代码
git clone https://github.com/browserbase/stagehand.git
cd stagehand
pnpm install
pnpm playwright install
pnpm run build
pnpm run example # 运行位于./examples/example.ts的空白脚本
pnpm run example 2048 # 运行./examples/2048.ts中的2048示例

Stagehand在您拥有LLM提供商的API密钥和Browserbase凭证时表现最佳。要将这些添加到您的项目中,请运行:

bash 复制代码
cp .env.example .env
nano .env # 编辑.env文件以添加API密钥

同类项目对比

在浏览器自动化领域,除了Stagehand,还有一些同类工具,如Selenium、Playwright和Puppeteer等。这些工具各有特点:

  • Selenium:一个支持多种编程语言的开源框架,能与不同浏览器配合使用,适用于自动化测试。
  • Playwright:由微软开发,提供强大的支持,允许多种浏览器的自动化,但通常需要更多的手动编写代码。
  • Puppeteer:主要为Chrome设计的Node库,允许控制Chrome浏览器,适合需要在浏览器中执行全栈测试的场景。

与这些工具相比,Stagehand通过自然语言与代码的灵活组合,提升了用户的操作效率与体验,是一个更加智能化的选择。

通过使用Stagehand,开发者不仅可以提升工作效率,还能大幅降低在复杂项目中可能面临的挑战。如果您在网页自动化需求中寻求更高效的解决方案,可尝试Stagehand,体验AI与编程的完美结合。

相关推荐
一水鉴天几秒前
整体设计 全面梳理复盘 之27 九宫格框文法 Type 0~Ⅲ型文法和 bnf/abnf/ebnf 之1
人工智能·状态模式·公共逻辑
极客BIM工作室5 分钟前
GAN vs. VAE:生成对抗网络 vs. 变分自编码机
人工智能·神经网络·生成对抗网络
半熟的皮皮虾7 分钟前
因需写了个内网运维专用的IP地址管理工具,有点不同
运维·服务器·tcp/ip
咋吃都不胖lyh7 分钟前
小白零基础教程:安装 Conda + VSCode 配置 Python 开发环境
人工智能·python·conda
minhuan8 分钟前
构建AI智能体:八十九、Encoder-only与Decoder-only模型架构:基于ModelScope小模型的实践解析
人工智能·模型架构·encoder-only架构·decoder-only架构
rit843249910 分钟前
基于MATLAB的PCA+SVM人脸识别系统实现
人工智能·算法
snakecy12 分钟前
常用命令记录
linux·运维·github
一 铭21 分钟前
Claude Agent Skills:一种基于 Prompt 扩展的元工具架构
人工智能·大模型·llm·prompt
连线Insight25 分钟前
小马智行港股上市:自动驾驶从“技术追跑”到“商业领跑”的里程碑
人工智能
xier_ran28 分钟前
深度学习:为什么不能将多层神经网络参数全部初始化为零以及如何进行随机初始化
人工智能·深度学习