影刀RPA实操指南:淘宝子账号权限与多客服数据采集
店铺开了五个客服子账号,月底想统计每个客服的接待量和转化数据,得挨个登录子账号、进千牛后台、导报表,一轮下来小半天没了。淘宝子账号的数据采集这件事,手工做的成本高在"反复登录"和"反复切换"上,用影刀RPA把五个账号串成一条流程,半小时搭好,以后每月一号自动跑完全部账号并把数据汇总进一张表。我做电商运营两年多,这套流程踩过的坑比写出来的代码还多,挨个讲给你。
这篇会覆盖从安装配置到子账号切换、从千牛元素捕获到数据汇总落表的全流程,还会讲浏览器多用户隔离和Cookie保活这些别人不太讲但特别要命的东西。
环境准备:安装、插件与多用户浏览器
影刀RPA从官网下载,点免费下载、默认路径、立即安装,三步搞定。Mac用户只能走Windows虚拟机这条路。装好后第一件事检查浏览器插件:淘宝登录指令官方支持Google Chrome浏览器和影刀浏览器两种,我用Chrome,在影刀客户端设置里点浏览器插件管理,给Chrome装好插件并重启浏览器,没有插件所有网页指令都会报错。
多账号采集的关键配置是浏览器多用户隔离。影刀有【激活浏览器用户/环境】指令,专门处理"浏览器存在多个用户/账号时指定目标用户环境"的场景,配置项有三个:
| 参数 | 填什么 | 说明 |
|---|---|---|
| 浏览器类型 | Google Chrome或Edge | 仅支持Chromium内核 |
| 指定数据目录 | User Data Dir路径 | 不勾选则用默认目录 |
| 用户标识 | Profile 1 | 浏览器已有的有效Profile名 |
每个客服子账号配一个独立的浏览器Profile,各自保存各自的登录态,互不串号。用户标识只认浏览器自动生成的格式(Default、Profile 1),目标浏览器至少要启动过一次才会生成数据目录,且必须装好影刀插件,这三个条件缺一个指令都会失败。
淘宝登录与子账号权限检查
【淘宝登录】指令在指令面板搜索"淘宝登录"拖入画布,浏览器类型下拉选Google Chrome浏览器或影刀浏览器,登录账号、登录密码分别填入,密码可选隐藏或显示方式键入,输出的网页对象保存到变量。主账号登录后进子账号管理页,用【批量数据抓取】把所有子账号列表抓下来,检查每个子账号的权限状态。
子账号权限这一步自动化很值:子账号有没有开通"交易数据查看"权限,直接决定后面能不能抓到报表。用【获取元素信息(web)】读取权限列的文本,不含目标权限的账号记到异常表里,人工去后台开权限。判断逻辑用【IF 元素存在】或读文本后做字符串包含判断,两种都行,读文本更稳,因为权限状态有时是图标不是文字。
主流程结构我拆成了四个子流程:
- 01_主账号登录:登录+检查登录态
- 02_子账号巡检:抓子账号列表和权限状态
- 03_单账号数据采集:接受账号参数,采集该账号的客服数据
- 04_汇总与通知:合并写入Excel并推飞书
子流程在右侧面板点"新建可视化流程"创建,命名加编号前缀,网页对象通过子流程输入参数传递。
千牛客户端捕获不到元素?无障碍模式一招解决
这是本篇最值钱的一段。千牛工作台分网页区和右侧客户端区,影刀捕获千牛页面元素经常失灵,官方文档给的解法是:右键点击桌面底部任务栏中的千牛图标选择"系统设置",在"网页浏览"模块勾选"启用页面讲述人模式(无障碍模式)",然后把千牛窗口最大化,重启千牛客户端。就这么一个开关,我在上面耗了一整天才从文档里翻出来,勾上之后千牛内部页面元素全部能正常捕获。
最大化窗口不是可选项,是必要条件,窗口一缩放元素坐标就偏,这也是"元素捕获偏移"报错的常见来源。
如果个别元素还是抓不到,换移入移出的捕获方式:有些菜单要鼠标悬停才渲染出来,捕获前先用【鼠标悬停在元素上(web)】把菜单点开再捕获。图像兜底方案是【点击图像】配合【IF 图像存在】和【等待图像】,把按钮截图作为识别目标,识别不到就走异常分支。
Cookie保活与多账号不串号
五个子账号每天重新输密码登录,滑块验证一来流程就断。我的做法是登录一次后把Cookie存下来,之后流程开头先试Cookie保活。【获取筛选所有Cookie】指令从浏览器cookie store里按条件筛选cookie集合,V2版本还支持筛选带PartitionKey的Cookie:
# 获取筛选所有Cookie:按域名筛选淘宝域下的会话Cookie# 浏览器类型支持fx变量:chrome / edge / cef(影刀浏览器) / firefox / 360se# 筛选cookie domain 填 .taobao.com# 筛选cookie name 可留空,或填指定cookie名精确匹配# 保存cookie列表至 cookie_list# 返回列表项含 domain、expirationDate、name、value、httpOnly 等字段拿到cookie列表后写入本地JSON文件,下次运行先用【设置Cookie】把存储的cookie灌回浏览器,再用【等待元素(web)】等后台首页的工作台元素出现,出现了说明登录态还有效,没出现才走完整登录。这一招把每天五次手动登录压缩成了几乎零次。
Cookie是敏感信息,存储文件不要放共享盘,也别写进会同步的目录,泄露出去等于把账号交出去。
| 问题 | 原因 | 处理 |
|---|---|---|
| Cookie灌回后仍要登录 | Cookie过期或缺失关键字段 | 重新登录一次并更新存储 |
| 两个账号数据混了 | Profile没隔离 | 每个账号独立Profile+数据目录 |
| Chrome/Edge版本太低 | V2版Cookie指令有版本要求 | Chrome/Edge需大于119 |
客服数据抓取与Excel汇总落表
进单个子账号的客服绩效页面后,用【批量数据抓取】框选接待人数、响应时长、成交金额这些列,抓取结果保存为二维列表变量。多页数据勾选"抓取多页",捕获"下一页按钮",翻页间隔设3秒给动态加载留时间,翻页按钮被遮挡时取消勾选"模拟人工点击翻页按钮"。
淘宝订单导出有个硬限制必须知道:平台一次性最多只能导出不超过10000条订单,订单按时间倒序排列且一页固定15条。官方方案是每次循环只导600页(600×15=9000条),留1000条余量防大促时订单激增导致导出失败,取第600页最后一条订单的下单时间作为下一段查询的起始时间,分段导完再按订单号去重合并。我按这个思路做成子流程,大促期间的数据也稳稳拿下。
写入Excel的完整链路:
- 【打开/新建Excel】打开汇总表,拿到Excel对象
- 【写入内容至Excel工作表】写入方式选"追加一行",二维列表整批写入
- 长数字列(订单号、买家ID)在"格式设置为文本的列"参数里填列号,防止科学计数法
- 每行数据后面追加一列"账号名",标记数据来源,五个账号合表后能分清谁是谁
- 【保存/另存Excel】和【关闭Excel】收尾
写入日期时间数据时office和wps会少8个小时,这是官方文档明确记录的问题,涉及时间列一律先转成文本再写。
变量、流程控制与异常处理
采集结果用列表承接,去重用【列表去重】指令,两个账号数据求交集判断重复用【获取两个列表的相同项】。字典用来建"子账号名到Profile名"的映射,取值前先判断键是否存在,不存在就补一条告警日志而不是让流程崩掉。
异常处理用Try-Catch-Finally三层:Try块放单账号的完整采集动作,Catch块里用【打印日志】记录报错信息和账号名,再用【飞书群通知】推一条失败告警,Finally块里关掉该账号的浏览器窗口,保证下一个账号从干净环境开始。单个账号失败不中断整体流程,跑完看汇总就知道哪几个账号要人工介入。
| 易错点 | 现象 | 解法 |
|---|---|---|
| 循环中页面刷新 | 报未找到指定ID的元素 | For次数循环内重新获取相似元素列表 |
| 点击后打开新标签页 | 循环错乱 | 用获取已打开的网页对象接管,操作完关闭新网页 |
| 数据写入错行 | 追加位置不对 | 先读Excel总行数再定位写入行 |
定时运行、通知与调试规范
流程发版后挂定时:定时触发器支持每日、每周、每月、预约、自定义间隔和Cron表达式,我设每月一号早上八点跑上月数据,另外每天下午五点跑一次当日增量。触发器要生效必须确保高级任务计划已启用,应用未发版加不进定时任务,发版后定时还失败就去"我获取的应用"里检查应用是否被误删,从"我开发的应用"拷副本重新发版再挂。
数据汇总完成后接【飞书群通知】:在飞书群添加自定义机器人拿webhook填入"机器人地址",勾了签名校验就把密钥填上,消息格式选文本类型支持@联系人,@所有人用at标签写法,把"本月采集完成,共5个账号,异常0条"这类摘要推给运营群。想留档就再加【新增行记录-飞书多维表】指令,webhook、多维表app_token、数据表名称三个配置填好,每个账号的数据追加一行进多维表格。
调试习惯上,我坚持三条:命名全部带编号前缀和动作描述;每个关键节点放【打印日志】,类型分调试/信息/警告/错误;变量面板配合断点单步执行,报错先看日志回放再动手改。工程化做到位,这套流程我维护了一年只改过两次。
常见问题速查
| 报错/现象 | 原因 | 解决 |
|---|---|---|
| 千牛元素捕获不到 | 未开无障碍模式 | 系统设置勾选页面讲述人模式并重启千牛 |
| 元素捕获偏移 | 窗口缩放或缩放比例问题 | 窗口最大化,检查屏幕缩放比例 |
| 打开网页报错 | 插件未安装 | 插件管理里安装并重启浏览器 |
| 定时任务失败 | 应用未发版或被误删 | 重新发版后添加定时 |
| Excel报Array to String | 写入格式不匹配 | 整行写入用一维列表,多行用二维列表 |
延伸阅读与学习资源
淘宝订单导出分段导出方案、千牛无障碍模式配置这些细节官方文档里都有原文,建议动手前通读一遍网页自动化相关的几篇。完整流程源码我放在代码仓库 home.linyan.cloud,可以直接参考改造,账号清单、Profile映射和数据源路径都做成了流程参数,换成你的店铺信息就能跑。多账号场景先把登录和隔离跑通,再往采集和数据层走,一口气搭完整套反而容易乱。
#影刀RPA #RPA自动化 #淘宝 #多账号 #数据采集 #客服数据
作者:林焱