CrawlForge
高级工具5 credits

scrape_with_actions

执行包括点击、滚动、输入和表单自动填充在内的浏览器操作链,并支持截图捕获。非常适合登录流程、无限滚动、模态对话框以及复杂的重 JavaScript 网站。

使用场景

登录流程

自动化登录表单,访问登录墙后的已认证内容

无限滚动

从社交媒体动态流和产品列表等无限滚动页面抓取内容

模态对话框

与弹窗、模态框和动态浮层进行交互

重 JavaScript 网站

处理 SPA 以及通过 AJAX 动态加载内容的网站

多步骤表单

在多步骤向导和复杂表单提交中进行导航

可视化测试

在每一步捕获截图,用于调试和视觉回归测试

Endpoint

POST/api/v1/tools/scrape_with_actions
Auth Required
2 req/s on Free plan
5 credits

Parameters

NameTypeRequiredDefaultDescription
url
stringRequired-
抓取会话的起始 URL
Example: https://example.com/login
actions
arrayRequired-
要按顺序执行的浏览器操作数组
Example: [{"type": "wait", "value": 2000}, {"type": "click", "selector": "#submit"}]
formAutoFill
objectOptional-
用指定值自动填充表单字段
Example: {"#username": "user@example.com", "#password": "secret"}
captureScreenshots
booleanOptionalfalse
在每个操作后捕获截图
Example: true
waitForNavigation
booleanOptionaltrue
在点击操作后等待导航完成
Example: true

可用的操作类型

wait
等待指定的毫秒数
action.jsonJson
click
通过 CSS 选择器点击元素
action.jsonJson
type
在输入框中输入文本
action.jsonJson
press
按下键盘按键
action.jsonJson
scroll
滚动到元素或位置
action.jsonJson
screenshot
捕获截图
action.jsonJson
executeJavaScript
执行自定义 JavaScript
action.jsonJson

请求示例

terminalBash

响应示例

200 OK8450ms
{
"success": true,
"data": {
"content": "...final page content after all actions...",
"screenshots": [
"data:image/png;base64,iVBORw0KGgoAAAANS...",
"data:image/png;base64,iVBORw0KGgoAAAANS..."
],
"intermediateStates": [
{
"action": "type",
"selector": "#search-input",
"success": true,
"timestamp": 1705334523000
},
{
"action": "click",
"selector": "#submit",
"success": true,
"timestamp": 1705334524500
}
],
"finalState": {
"url": "https://example.com/search?q=AI+web+scraping",
"title": "Search Results - AI web scraping",
"cookies": 12,
"localStorage": 5
}
},
"credits_used": 5,
"credits_remaining": 995,
"processing_time": 8450
}
Field Descriptions
data.content执行所有操作后的最终 HTML 内容
data.screenshotsbase64 编码的截图数组(如果 captureScreenshots: true)
data.intermediateStates每个操作的日志,包含成功状态和时间戳
data.finalState最终浏览器状态,包括 URL、cookie 和 localStorage
credits_used本次请求扣除的 credits(每次抓取 5 个)
processing_time包含所有操作和等待的总耗时

错误处理

操作失败(422 Unprocessable Entity)

一个或多个操作执行失败。请检查选择器是否正确以及元素是否可见。

超时(504 Gateway Timeout)

操作链耗时过长(最长 30 秒)。请减少等待时间或操作数量。

无效操作(400 Bad Request)

一个或多个操作的参数无效。请检查操作类型和必填字段。

Credits 不足(402 Payment Required)

您的账户 credits 不足(需要 5 个)。购买更多 credits 或 升级您的套餐。

超出速率限制(429 Too Many Requests)

您已超出套餐的速率限制。请稍候片刻,或 升级您的套餐 以获得更高限额。

专业提示: 在交互之间使用 wait 操作,以确保 JavaScript 有时间执行。调试时,可启用 captureScreenshots 来查看浏览器在每一步所看到的内容。

Credit 费用

5 credits
每次请求 5 credits
每次成功的 scrape_with_actions 请求消耗 5 credits,与操作数量无关。

Free 套餐: 1,000 个一次性试用 credits = 200 条操作链

Hobby 套餐: 5,000 credits/月 = 1,000 条操作链($19/mo)

Professional 套餐: 50,000 credits/月 = 10,000 条操作链($99/mo)

Business 套餐: 250,000 credits/月 = 50,000 条操作链($399/mo)

相关工具

form_submit
无需操作链的简化表单提交(3 credits)
screenshot
无需操作即可捕获截图(2 credits)
准备好试用 scrape_with_actions 了吗?免费注册,获取 1,000 credits,开始构建。