功能描述
StagehandTool 封装了 Stagehand Python SDK,为 CrewAI 智能体提供控制真实浏览器并与网站交互的三大核心功能:- 操作:执行点击、输入或导航等动作
- 提取:从网页中提取结构化数据
- 观察:识别并分析页面元素
系统要求
使用前需准备:- 拥有 API 密钥和项目 ID 的 Browserbase 账户
- 大语言模型(OpenAI 或 Anthropic Claude)的 API 密钥
- 已安装 Stagehand Python SDK
使用指南
基础用法
命令类型
StagehandTool 支持三种命令类型,分别针对不同的网页自动化任务:1. 操作 - 在页面上执行动作
默认的act 命令类型允许智能体在网页上执行操作,例如点击按钮、填写表单、页面导航等。
使用场景:当需要通过点击、输入、滚动或导航等方式与网页交互时使用 act 命令。
示例用法:
2. 提取 - 从页面获取数据
extract 命令类型允许代理从网页中提取结构化数据,例如产品信息、文章文本或表格数据。
使用场景:当需要以结构化格式从网页检索特定信息时,使用 extract。
示例用法:
3. 观察 - 识别页面元素
observe 命令类型允许代理识别和分析网页上的特定元素,返回有关其属性、位置和建议操作的信息。
使用场景:当需要识别UI元素、理解页面结构或确定可能的操作时,使用 observe。
示例用法:
高级配置
您可以通过指定不同参数来自定义 StagehandTool 的行为:CrewAI 代理任务示例
以下是有效使用 StagehandTool 的任务示例:高效使用技巧
- 指令需具体明确:指令越具体,效果越好。例如,避免使用”点击按钮”,而应使用”点击联系表单底部的’提交’按钮”。
- 选用正确的命令类型:根据任务类型选择合适命令:
- 交互和导航使用
act命令 - 信息采集使用
extract命令 - 页面结构分析使用
observe命令
- 交互和导航使用
- 善用选择器:提取数据或观察元素时,使用CSS选择器缩小范围以提高准确性。
- 处理多步骤流程:复杂操作应拆分为多个工具调用,每个调用处理特定步骤。
- 错误处理:在代理逻辑中实现适当的错误处理机制,应对元素未找到或页面未加载等潜在问题。
故障排除
- 会话无法启动:确保已配置有效的Browserbase和LLM提供商API密钥
- 元素未找到:尝试增加
dom_settle_timeout_ms参数值以延长页面加载等待时间 - 操作无效:确认指令清晰明确,可先使用
observe命令定位正确元素 - 提取数据不完整:尝试优化指令或提供更精确的选择器

