# 影刀RPA进阶教程:飞书多维表格自动

影刀RPA进阶教程:飞书多维表格自动化——读写与联动采集

飞书多维表格比普通表格更强大(支持附件、公式、分组视图),但影刀没有直接指令。
解决方法:通过浏览器自动化操作多维表格,像操作普通网页一样读写数据。
本文给出飞书多维表格的捕获技巧、读写流程、以及与采集联动的完整方案。


一、飞书多维表格 vs 普通表格

| 对比项 | 飞书多维表格 | 普通飞书表格 |

picture.image |--------|-------------|-------------| | 数据结构 | 类似数据库(行记录+字段) | 类似Excel | | 附件支持 | 可存图片、文件 | 不支持 | | 视图 | 表格/看板/甘特图 | 仅表格 |

picture.image | 自动化 | 可触发飞书机器人 | 无 | | 影刀操作难度 | 稍复杂(需定位记录) | 中等 |

适用场景

  • 采集的商品需要配图(用附件字段存储图片)

picture.image

  • 运营团队用多维表格做任务管理,需自动写入
  • 需要按状态筛选记录(如“待采集”“已完成”)

picture.image

二、多维表格的捕获要点

要点1:单元格定位

多维表格不是普通的 <table>,而是用 div 模拟的网格。

picture.image 推荐定位方式:通过行记录的“记录ID”或“第一列文本”定位整行,再定位具体字段。

要点2:打开记录详情页

点击单元格会弹出侧边详情页,里面有所有字段的值。

picture.image 采集策略:要么直接从网格中读取可见字段,要么打开详情页读取全部。

要点3:编辑单元格

双击单元格进入编辑模式,输入内容后按回车确认。

picture.image 也可以用“快捷键”方式:选中单元格后直接输入(需确保单元格处于编辑状态)。


三、读取多维表格数据

场景:表格中有100条商品链接需要采集详情,状态字段为“待采集”。

操作步骤

  1. 打开飞书多维表格(浏览器)。
  2. 筛选出“状态”为“待采集”的记录。
  3. 逐行读取“商品链接”字段。
  4. 采集详情后,更新该行的“状态”为“已完成”。

捕获元素清单(以飞书多维表格为例)

元素定位参考说明
表格容器//div[@data-testid='grid-view']整个表格
行记录//div[@data-row-index]每条记录的行
字段单元格{当前行}//div[@data-field-id='xxx']某列的值
筛选按钮//div[@aria-label='筛选']打开筛选面板
状态字段的筛选选项根据文本定位“待采集”选项

💡 飞书多维表格的class和data属性较稳定,建议用 data-field-id 定位具体字段。
如何获取 data-field-id?F12 → 选中某个单元格 → 找父级带 data-field-id 属性的元素。

读取行记录的通用XPath模板

picture.image

# 获取所有行(每行是一个记录)
//div[@data-row-index]

# 在某行中,获取“商品链接”字段的值(假设field-id = fld_abc123)
{current_row}//div[@data-field-id='fld_abc123']//span[contains(@class,'text')]

# 获取“状态”字段的当前值
{current_row}//div[@data-field-id='fld_status']//span

四、更新多维表格单元格

场景:采集完成后,把“状态”字段从“待采集”改为“已完成”。

操作步骤

  1. 选中目标行的“状态”单元格。
  2. 双击进入编辑模式。
  3. 清空原有内容(Ctrl+A → Delete)。
  4. 输入新内容“已完成”。
  5. 按回车确认。

影刀实现

# 假设已定位到目标行的状态单元格元素 status_cell

# 1. 鼠标双击(进入编辑模式)
#    鼠标点击 → 点击模式“模拟移动点击”,点击次数2

![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/ba05500833bb494f9acb0310d59433cc~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1781231223&x-signature=auHa1NlwNmqrKJdtCuRDRa0Fna4%3D)

![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/c2ae937cc672482790ec65b7115a1ae9~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1781231223&x-signature=a3IYHWBgVbzmO90cTSdvQ06DgQw%3D)
# 2. 模拟按键 Ctrl+A 全选
#    模拟按键 → 组合键 Ctrl+A

# 3. 模拟按键 Delete 删除
#    模拟按键 → 按键 Delete

# 4. 输入文本
#    输入文本 → 内容“已完成”,输入方式“模拟输入”

# 5. 模拟按键 Enter 确认
#    模拟按键 → 按键 Enter

封装子流程 Common_UpdateCell

  • 输入参数:in_row_element(行元素),in_field_id(字段ID),in_value(新值)
  • 内部:定位到单元格 → 双击 → 清空 → 输入 → 回车

五、写入附件(图片/文件)

多维表格的附件字段可以存图片。
场景:采集商品时,把商品主图下载后上传到多维表格。

操作步骤

  1. 点击附件字段的“上传”区域。
  2. 在弹出的系统文件选择窗口中,输入文件路径(需用特殊技巧)。
  3. 或者先把图片复制到剪贴板,然后在附件区域粘贴。

推荐方法:用 执行JavaScript 模拟文件上传(比较复杂)。
简单方法:把图片URL存入文本字段,让人工手动上传(半自动)。


六、完整实战:多维表格驱动的采集流程

需求:多维表格中有“待采集商品”表,每天自动读取链接,采集价格和销量,回写状态。

流程设计

A_Main
  ├─ 1. 打开飞书多维表格,筛选“状态”=“待采集”
  ├─ 2. 获取所有行记录 → {rows}
  ├─ 3. 列表循环 {rows},当前行 {row}
  │      ├─ 读取“商品链接”字段 → {url}
  │      ├─ 打开新标签页,访问 {url}
  │      ├─ 采集价格和销量
  │      ├─ 关闭标签页
  │      ├─ 在 {row} 中更新“价格”字段
  │      ├─ 在 {row} 中更新“销量”字段
  │      ├─ 在 {row} 中更新“状态”字段 = “已完成”
  │      └─ 调用 Common_RandomDelay (1,2)
  └─ 4. 刷新页面,查看剩余待采集数量

关键点

  • 每处理完一行,立即更新状态,避免重复处理。
  • 如果采集失败(如页面打不开),更新状态为“失败”并记录原因。

七、避坑指南

说明解决方法
字段定位失败data-field-id 不是固定的每次打开表格时重新获取字段ID(用JS读取表结构)
双击进入编辑失败单元格被遮挡或未加载先“滚动到元素”,再加0.3秒等待
输入后回车不生效焦点丢失回车前加“鼠标点击”单元格
筛选后行数不对筛选未生效或异步加载等待筛选结果出现(等待行数变化)
附件上传困难系统文件窗口难控制改用粘贴方式:复制图片,在附件区域Ctrl+V

八、影刀专属操作清单

操作精确指令说明
打开多维表格打开网页使用表格分享链接
获取行列表获取相似元素列表目标 //div[@data-row-index]
读取单元格获取元素文本配合行元素+字段ID定位
双击编辑鼠标点击 → 点击次数2进入编辑模式
模拟全选+删除模拟按键 Ctrl+A, Delete清空原有内容
输入新值输入文本模拟输入内容为变量
回车确认模拟按键 Enter保存修改

版本差异:社区版可以操作多维表格,但效率较低(需手动等待)。
创业版/企业版可配合云浏览器提高稳定性。


常见问题速查

问题原因解决方法
读取到的单元格内容为空字段是富文本或附件改用打开详情页方式读取
更新后表格不刷新未保存回车确认后,有时需要点击其他地方触发保存
筛选后列表未更新筛选面板未关闭筛选后关闭筛选面板,再获取行列表
行元素定位不准表格有分组或隐藏行展开所有分组,或用滚动确保行可见
频繁操作被限流飞书风控每次操作间隔2秒以上

推荐资源

  • 飞书帮助中心:《多维表格字段ID获取方法》
  • 影刀社区:搜索“多维表格”,有用户分享的模板
  • 实操练习:创建一个多维表格,写一个影刀流程读取前10行并更新状态字段

最后一句:多维表格是飞书生态的“轻量级数据库”,配合影刀可以做很多自动化场景(任务管理、数据采集、审批流转)。
核心技巧是定位 data-field-id 和模拟双击编辑。调通后,运营团队可以实时看到采集进度,体验比Excel好很多。


作者:林焱

本文为《影刀RPA学习手册》系列文章之番外篇。系列已全部更新,感谢陪伴!

0
0
0
0
评论
未登录
暂无评论