采集完数据要发给运营同事,每次都要手动导出Excel、上传飞书、@人。
问题:流程能自动化采集,但通知和协作还是人工。
解决方案:用影刀直接读写飞书表格,跑完自动发消息到飞书群。
一、飞书表格 vs Excel
| 对比项 | 本地Excel | 飞书表格 |
|---|---|---|
| 访问方式 | 本地文件 | 云端链接 |
| 多人协作 | 不能同时编辑 | 实时协同 |
| 通知触发 | 无 | 可联动飞书消息 |
| 影刀支持 | 完整读写 | 需通过浏览器操作 |
核心思路:影刀不能直接API调用飞书表格(需要企业版+开发),但可以通过浏览器自动化操作飞书表格,就像操作普通网页一样。
二、飞书表格的捕获要点
飞书表格是复杂的Web应用,捕获元素时要注意:
要点1:单元格定位
飞书表格的单元格不是简单的 <td>,而是用Canvas或复杂div模拟的。
解决方法:用快捷键选中单元格,而不是捕获坐标。

# 推荐操作方式:用键盘快捷键选择单元格

# 1. 鼠标点击表格区域(激活)
# 2. 模拟按键:Ctrl + G(打开“跳转到”弹窗)

# 3. 输入单元格位置,如 A1
# 4. 模拟按键:Enter(跳转)
# 5. 获取当前选中单元格的值(通过捕获高亮区域的文本)
要点2:读取整列数据
用“获取相似元素列表”不靠谱。
替代方案:
- 选中第一行数据,按下
Ctrl+Shift+下箭头选中整列。 - 模拟按键
Ctrl+C复制。 - 用“获取剪贴板文本”拿到数据,再按换行符拆分。
# 模拟按键选择整列(假设已选中第一行)
# 组合键:Ctrl + Shift + 下箭头
# 影刀指令:模拟按键,选择“组合键”,设置 Ctrl+Shift+下
# 然后复制
# 组合键:Ctrl + C
# 获取剪贴板文本
# 指令:获取剪贴板文本 → 输出到 {col_data}
# 按换行拆分成列表
# 用“拆分文本”指令,分隔符 \n
三、写入飞书表格
场景:流程采集完数据,要写入飞书表格的指定位置。
操作步骤:
- 打开飞书表格链接(确保已登录)。
- 定位到目标单元格(用跳转功能
Ctrl+G)。
3. 输入内容(用“模拟输入”或“输入文本”)。
- 按回车确认。
- 移动到下一格(用方向键
↓)。
# 写入飞书表格的标准流程
# 1. 打开飞书表格(已登录状态)
# 2. 模拟按键:Ctrl + G(跳转)
# 3. 输入单元格位置(如 "B2"),用模拟输入
# 4. 模拟按键:Enter
# 5. 输入文本:写入内容 {data}
# 6. 模拟按键:Enter(确认并下移一行)
# 循环写入多行时,重复步骤2-6
注意:飞书表格输入文本后按Enter会确认并移动到下一行,适合连续写入。
四、飞书消息通知
场景:流程跑完,在飞书群里通知结果。
方法:影刀打开飞书群聊网页版,模拟输入消息并发送。
操作步骤:
- 打开飞书群聊链接(如
https://xxx.feishu.cn/chat/xxx)。 - 等待输入框加载。
- 输入消息内容(可以用Markdown格式)。
- 模拟按键:Enter(发送)。
# 发送通知消息示例
# 消息内容模板:
# 【采集完成通知】
# 开始时间:{start_time}
# 结束时间:{end_time}
# 采集商品数:{total}
# 成功:{success} 条
# 失败:{fail} 条
# 详情查看飞书表格:{sheet_url}
# 1. 打开飞书群聊URL
# 2. 等待元素出现:消息输入框(class含 'message-input' 或 'textarea')
# 3. 输入文本(内容为拼接好的消息)
# 4. 模拟按键:Enter
# 5. 固定等待 1 秒
# 6. 关闭标签页
触发时机:
- 流程成功完成 → 发送成功通知
- 流程失败/异常 → 发送失败通知(含截图链接)
五、完整实战:采集数据 → 写飞书表格 → 群通知
场景:每天定时采集淘宝商品数据,写入飞书表格,完成后通知运营群。
流程设计:
A_Main(主流程)
│
├─ B_01_LoginFeishu(登录飞书,保持会话)
│
├─ C_01_CollectData(采集淘宝数据)
│ └─ 输出:list_products(商品列表)
│
├─ C_02_WriteToFeishu(写入飞书表格)
│ ├─ 打开飞书表格
│ ├─ 定位到第一个空行(用 Ctrl+G 跳转到 A列最后一行+1)
│ ├─ 循环写入每条数据
│ └─ 记录写入行数
│
└─ C_03_SendNotification(发送飞书通知)
└─ 打开飞书群聊,发送汇总结果
写入飞书表格的详细指令:
# 假设已有商品列表 list_products,每行是一个字典
# 1. 打开飞书表格
# 2. 获取当前最后一行(可通过读取A列最后一个非空单元格的行号)
# 方法:选中A1,按 Ctrl+Shift+下箭头,读取选区行数
# 3. 计算起始行 = last_row + 1
# 4. 列表循环 list_products,索引 index 从0开始
# 当前行 = 起始行 + index
# 写入商品ID:跳转到 A{当前行},输入 ID
# 写入商品标题:跳转到 B{当前行},输入标题
# 写入价格:跳转到 C{当前行},输入价格
# 写入链接:跳转到 D{当前行},输入链接
# 5. 循环结束,保存(飞书表格自动保存)
六、三个关键技巧
技巧1:保持飞书登录态
在流程开始时登录飞书,后续步骤不要关闭标签页。
可以在一个固定浏览器用户数据目录下运行,Cookie持久化。
操作:
打开网页指令 → 高级设置 → 用户数据目录,填一个固定路径(如 C:\feishu_profile)。
技巧2:避免飞书表格的“正在编辑”冲突
多人同时编辑同一个飞书表格时,写入可能会冲突。
解决:在流程开始前,用飞书消息通知“机器人正在写入数据,请勿编辑”,写完再通知。
技巧3:写入速度不要太快
飞书表格是Web应用,写入太快会卡死。
解决:每次写入后加 固定等待 0.3~0.5 秒。
七、影刀专属操作清单
| 操作 | 精确指令 | 说明 |
|---|---|---|
| 打开飞书表格 | 打开网页 | URL为飞书表格分享链接 |
| 模拟按键跳转 | 模拟按键 → Ctrl+G | 打开跳转弹窗 |
| 输入单元格位置 | 模拟输入 | 如 "A2" |
| 选中整列 | 模拟按键 → Ctrl+Shift+下 | 需先选中第一个单元格 |
| 复制选中内容 | 模拟按键 → Ctrl+C | 配合获取剪贴板 |
| 获取剪贴板文本 | 获取剪贴板文本 | 读取复制的表格数据 |
| 输入文本到单元格 | 输入文本 或 模拟输入 | 输入后按Enter确认 |
| 发送飞书消息 | 同Web聊天发送 | 输入消息+Enter |
版本差异:社区版获取剪贴板文本功能正常,但频繁读写飞书表格可能因页面复杂而卡顿。
创业版支持多浏览器并行,可以把飞书表格操作单独放一个浏览器,采集放另一个。
常见问题速查
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 飞书表格打不开 | 需要登录 | 流程前先执行飞书登录流程 |
| Ctrl+G 没反应 | 焦点不在表格区域 | 先鼠标点击表格任意单元格 |
| 输入内容被清空 | 输入时按到了特殊键 | 用“模拟输入”代替“输入文本” |
| 写入位置错乱 | 跳转后未确认 | 跳转后加 Enter 确认 |
| 消息发不出去 | 输入框未聚焦 | 发送前先点击一下输入框 |
| 飞书表格自动退出登录 | Cookie过期 | 在浏览器设置中保持登录态,或每天首次运行手动登录一次 |
推荐资源
- 飞书官方帮助:《飞书表格快捷键大全》→ 搜 Ctrl+G、Ctrl+Shift+箭头
- 影刀社区模板:搜索“飞书表格写入”,有现成模板
- 实操练习:建一个飞书表格,用影刀写入10行数据,再读取回来
最后一句:飞书表格+消息通知,让RPA从“自动干活”升级到“自动汇报”。
采集完主动告诉同事,不用等他们来问“数据好了吗”。这套组合电商运营团队必用。
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。
