10.4 实战自动发帖
想象一下这个场景:
你是一个内容创作者,每天需要在小红书发布 3-5 条笔记。
手动流程:打开创作平台 → 点击发布 → 上传图片 → 填写标题 → 写正文 → 选话题 → 点击发布。
一条笔记 10 分钟,5 条就是 50 分钟。
你想:这些重复操作,能不能交给 AI?
前面三节,你学会了浏览器的工作原理、配置方法和登录持久化。这一节,我们来实战——让 AI 真正帮你做事。这一节,我们用 20 分钟,完成从手动到自动的蜕变。
场景:小红书自动发布
手动流程是这样的:
1。 打开小红书创作平台 2。 点击"发布笔记" 3。 上传图片 4。 填写标题和正文 5。 添加话题标签 6。 点击发布
让 AI 来做这件事。
试一试:最简单的自动发帖
前提条件:
- 托管浏览器已配置好
- 已在小红书完成登录并保持登录状态
告诉 AI:
帮我发布一篇小红书笔记: 1. 打开小红书创作平台 https://creator.xiaohongshu.com/ 2. 点击"发布笔记" 3. 上传图片 /path/to/your/image.jpg 4. 标题:今天发现了一家超棒的咖啡店 5. 正文:环境很好,咖啡也很香,推荐给大家~ 6. 添加话题标签:#咖啡 #探店 #生活 7. 点击发布
AI 会自动调用浏览器工具,一步步完成操作。
你会看到这样的对话过程:
> 正在打开小红书创作平台... > 已点击"发布笔记"按钮 > 正在上传图片... > 已填写标题和正文 > 已添加话题标签 > 已点击发布按钮 > 发布成功!
操作网页表单
浏览器自动化的核心能力是操作网页元素。OpenClaw 提供了简洁的交互方式。
基本操作流程
第一步:获取页面快照
bash
openclaw browser snapshot --interactive输出示例:
[1] button "发布笔记"
[2] input "搜索"
[3] link "首页"
[4] link "我的"第二步:根据 ref 操作元素
bash
# 点击按钮
openclaw browser click 1
# 在输入框中输入文字
openclaw browser type 2 "搜索内容"
# 等待页面加载
openclaw browser wait --load networkidle常用操作命令
| 操作 | CLI 命令 | 说明 |
|---|---|---|
| 点击 | click <ref> | 单击元素 |
| 双击 | click <ref> --double | 双击元素 |
| 输入 | type <ref> "文字" | 在输入框输入 |
| 提交 | type <ref> "文字" --submit | 输入后按回车 |
| 选择 | select <ref> "选项1" "选项2" | 多选下拉框 |
| 悬停 | hover <ref> | 鼠标悬停 |
| 滚动 | scrollintoview <ref> | 滚动到元素可见 |
| 拖拽 | drag <from> <to> | 拖拽元素 |
试一试:自动填写表单
场景:填写注册表单
打开 https://example.com/form 填写表单: - 姓名:张三 - 邮箱:zhangsan@example.com - 电话:13800138000 - 选择"同意协议" - 点击提交
AI 会自动: 1。 打开页面 2。 获取快照识别表单元素 3。 依次填写每个字段 4。 点击提交按钮
数据抓取
除了操作网页,浏览器自动化还能帮你抓取数据。
试一试:抓取网页内容
场景:抓取文章列表
打开 https://example.com/articles 抓取页面上所有文章的标题和链接 以表格形式返回
AI 的执行过程:
> 正在打开页面... > 获取页面快照 > 识别到 10 篇文章 > 提取标题和链接... > 完成,结果如下: > > | 标题 | 链接 | > |------|------| > | 文章1标题 | https://... | > | 文章2标题 | https://... |
翻页抓取
场景:抓取多页数据
打开 https://example.com/list 抓取前 5 页的所有商品名称和价格 保存到 /tmp/products.csv
AI 会自动: 1。 抓取第一页数据 2。 点击"下一页" 3。 重复直到第 5 页 4。 汇总并保存 CSV
使用 browser 工具直接获取数据
bash
# 获取页面文本内容
openclaw browser snapshot --format aria
# 获取特定元素的文本
openclaw browser evaluate --fn '(el) => el.textContent' --ref 12
# 获取网络请求响应
openclaw browser requests --filter api
openclaw browser responsebody "**/api/data" --max-chars 5000实战:批量发布小红书笔记
假设你有 10 篇笔记需要发布,每篇都有图片和文案。
准备素材
创建文件 /tmp/posts.json:
json
[
{
"image": "/path/to/image1.jpg",
"title": "笔记标题1",
"content": "笔记正文内容1",
"tags": ["#tag1", "#tag2"]
},
{
"image": "/path/to/image2.jpg",
"title": "笔记标题2",
"content": "笔记正文内容2",
"tags": ["#tag3", "#tag4"]
}
]告诉 AI
读取 /tmp/posts.json 文件 对每一篇笔记: 1. 打开小红书创作平台 2. 点击发布笔记 3. 上传对应的图片 4. 填写标题和正文 5. 添加话题标签 6. 发布 7. 等待 30 秒(避免操作过快) 8. 继续下一篇
注意事项
| 注意点 | 说明 |
|---|---|
| 间隔时间 | 设置合理的间隔,避免触发反爬 |
| 适时休息 | 每发布几篇后休息一会儿 |
| 观察结果 | 如有异常及时调整 |
| 不要批量过大 | 一次不要发太多 |
进阶:定时自动发布
结合定时任务功能,可以实现全自动发布:
bash
# 每天早上 9 点自动发布
openclaw schedule add --name "morning-post" --cron "0 9 * * *" \
--prompt "打开小红书,发布一篇关于'早安'主题的笔记,配图用 /path/to/morning.jpg"或者让 AI 每天自动生成内容:
创建一个定时任务: - 每天早上 10 点执行 - 搜索今天的热点话题 - 根据热点生成一篇小红书文案 - 自动发布到小红书
故障排查
发帖失败:元素找不到
原因:页面还没加载完,或者页面结构变了。
解决:
bash
# 等待页面加载完成
openclaw browser wait --load networkidle
# 或等待特定元素出现
openclaw browser wait "#publish-button"发帖失败:被拦截
原因:操作太快,触发反爬。
解决:
- 增加操作间隔
- 减少批量数量
- 模拟人类操作节奏
发帖失败:登录过期
原因:登录状态丢失。
解决:
- 回顾 10.3 节的登录持久化方法
- 检查用户数据目录是否正常
这一节,你做了什么
| 学了什么 | 核心理解 |
|---|---|
| 自动发帖 | 告诉 AI 步骤,它会调用浏览器完成 |
| 表单操作 | 使用 snapshot 获取 ref,用 click/type 操作 |
| 数据抓取 | AI 能识别页面结构,提取所需数据 |
| 批量任务 | 准备素材文件,让 AI 循环处理 |
| 定时发布 | 结合 Cron 任务,实现全自动 |
下一节
实战中难免遇到问题。下一节,我们来系统梳理常见问题和排查方法。