Community研究与数据分析github.com

firecrawl/firecrawl-build-interact

将Firecrawl的`/interact`集成到产品代码中,用于处理动态页面和抓取后的浏览器操作。当功能需要点击、表单填写、分页、身份验证感知流程或其他普通`/scrape`无法完成的多步交互时使用。

firecrawl-build-interact 是什么?

该技能旨在帮助开发者将Firecrawl的`/interact`端点无缝集成到产品代码中,以处理动态网页和复杂的浏览器操作。与仅能提取静态内容的`/scrape`不同,`/interact`支持点击、表单填写、滚动、分页以及需要身份验证的交互流程。它适用于需要模拟真实用户行为的场景,例如登录后抓取数据、无限滚动页面获取、或多步骤表单提交。该技能支持所有主流的AI agent平台(如Claude Code、Cursor、Codex等),通过提供清晰的API调用示例和最佳实践,降低开发门槛。其工作原理基于Firecrawl的headless浏览器引擎,允许开发者通过JSON指令链式编排动作,并返回最终的DOM状态或屏幕截图,从而实现高度动态化的数据采集。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/firecrawl/skills/tree/main/skills/firecrawl-build-interact

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

firecrawl-build-interact 是做什么的?

将Firecrawl /interact 集成到产品代码中,用于处理动态页面和抓取后的浏览器操作。当功能需要点击、表单填写、分页、身份验证感知流程或其他普通/scrape无法完成的多步交互时使用。

概述

该技能指导您如何使用Firecrawl的/interact端点来编排浏览器操作。它允许您发送一系列动作(如点击按钮、输入文本、等待元素等)到Firecrawl,并获取交互后的页面内容。这对于处理单页应用(SPA)、无限滚动页面、登录后的后台页面或任何需要用户交互的动态内容至关重要。

核心功能

  • 多步交互:支持链式动作,包括点击、表单填写、下拉选择、悬停、滚动等。
  • 身份验证感知(Authentication-aware):可以在交互前设置cookie或header,模拟登录状态。
  • 截图与DOM提取:每次交互后可获取页面截图或完整DOM,用于验证或数据提取。
  • 可配置重试与超时:对不稳定页面提供重试机制和自定义超时。

使用方法

示例API调用(Python)

import requests

api_url = "https://api.firecrawl.dev/v1/interact"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
    "url": "https://example.com/dynamic-page",
    "actions": [
        {"type": "click", "selector": "#load-more-btn"},
        {"type": "wait", "timeout": 2000},
        {"type": "click", "selector": ".next-page"}
    ],
    "extract": "body"  # 可选:提取最终DOM
}

response = requests.post(api_url, json=payload, headers=headers)
print(response.json())

支持的常用动作类型

动作类型参数说明
clickselector点击指定CSS选择器的元素
typeselector, text在输入框中键入文本
selectselector, value选择下拉菜单项
hoverselector悬停在元素上
scrolldirection, amount滚动页面(方向如down, up)
waittimeout等待指定毫秒数
screenshot无截取当前页面截图并返回URL

最佳实践

  1. 最小化动作链:只包含必要的动作,减少加载时间和API消耗。
  2. 使用稳定选择器:优先使用ID或data属性选择器,避免依赖动态生成的class。
  3. 处理认证:如需登录,先使用Firecrawl的/auth端点或通过headers传递token。
  4. 错误处理:为每个动作设置超时和重试逻辑,尤其对于慢速页面。
  5. 调试:在开发阶段启用screenshot动作以验证交互结果。

注意事项

  • 确保API密钥安全,不要硬编码在代码中(使用环境变量FIRECRAWL_API_KEY)。
  • 对于无限滚动页面,使用scroll动作配合wait来触发动态加载。
  • 如果页面使用了Shadow DOM,确保选择器能穿透(如使用>>>或deep())。

与其他工具集成

该技能可轻松嵌入到Claude Code、Cursor、Codex等AI agent的规则文件中,用于自动化数据采集任务。例如,在Claude Code中,您可以创建一个包含该技能的CLAUD.md文件,并引用此技能描述。


注意:使用前请阅读Firecrawl API文档获取最新版本的信息。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

相关技能