跳转到主要内容
该工具将 Stagehand Python SDK 与 CrewAI 集成,使智能体能够通过自然语言指令与网站交互并自动化浏览器任务。

功能描述

StagehandTool 封装了 Stagehand Python SDK,为 CrewAI 智能体提供控制真实浏览器并与网站交互的三大核心功能:
  1. 操作:执行点击、输入或导航等动作
  2. 提取:从网页中提取结构化数据
  3. 观察:识别并分析页面元素

系统要求

使用前需准备:
  1. 拥有 API 密钥和项目 ID 的 Browserbase 账户
  2. 大语言模型(OpenAI 或 Anthropic Claude)的 API 密钥
  3. 已安装 Stagehand Python SDK
安装依赖:

使用指南

基础用法

命令类型

StagehandTool 支持三种命令类型,分别针对不同的网页自动化任务:

1. 操作 - 在页面上执行动作

默认的 act 命令类型允许智能体在网页上执行操作,例如点击按钮、填写表单、页面导航等。 使用场景:当需要通过点击、输入、滚动或导航等方式与网页交互时使用 act 命令。 示例用法:

2. 提取 - 从页面获取数据

extract 命令类型允许代理从网页中提取结构化数据,例如产品信息、文章文本或表格数据。 使用场景:当需要以结构化格式从网页检索特定信息时,使用 extract 示例用法:

3. 观察 - 识别页面元素

observe 命令类型允许代理识别和分析网页上的特定元素,返回有关其属性、位置和建议操作的信息。 使用场景:当需要识别UI元素、理解页面结构或确定可能的操作时,使用 observe 示例用法:

高级配置

您可以通过指定不同参数来自定义 StagehandTool 的行为:

CrewAI 代理任务示例

以下是有效使用 StagehandTool 的任务示例:

高效使用技巧

  1. 指令需具体明确:指令越具体,效果越好。例如,避免使用”点击按钮”,而应使用”点击联系表单底部的’提交’按钮”。
  2. 选用正确的命令类型:根据任务类型选择合适命令:
    • 交互和导航使用 act 命令
    • 信息采集使用 extract 命令
    • 页面结构分析使用 observe 命令
  3. 善用选择器:提取数据或观察元素时,使用CSS选择器缩小范围以提高准确性。
  4. 处理多步骤流程:复杂操作应拆分为多个工具调用,每个调用处理特定步骤。
  5. 错误处理:在代理逻辑中实现适当的错误处理机制,应对元素未找到或页面未加载等潜在问题。

故障排除

  • 会话无法启动:确保已配置有效的Browserbase和LLM提供商API密钥
  • 元素未找到:尝试增加 dom_settle_timeout_ms 参数值以延长页面加载等待时间
  • 操作无效:确认指令清晰明确,可先使用 observe 命令定位正确元素
  • 提取数据不完整:尝试优化指令或提供更精确的选择器

扩展资源

加入 Stagehand Slack 社区 获取支持并与其他用户交流。