影刀RPA实操指南:定时日报机器人——每天固定时间自动汇报运行情况

每天早上一到公司先打开电脑、翻日志、截图、拼一段"昨晚跑得怎么样"发到群里——这套动作我重复了两个多月,直到把影刀RPA的定时任务和日报流程搭起来才彻底解放。定时日报机器人的核心就一句话:让流程自己总结自己,在固定时间把运行情况推给你,而不是你去查它。

我做电商数据采集的时候,手下同时跑着三四个机器人,靠人肉盯根本盯不过来。有一次拼多多店铺的采集任务半夜因为网络波动挂了,我第二天中午才发现,数据少了一半。那天之后我给每个机器人都配了日报,运行情况每天早八点准时进群,异常一眼就能看出来。

这篇文章手把手带你在影刀RPA里搭一个定时日报机器人:白天跑业务流程,收尾时把结果写进汇总表,早八点由计划任务唤醒,读取汇总后自动推送到群里和邮箱。全程不需要写一行代码,跟着做就能落地。

认识影刀与准备工作:日报机器人的地基

影刀RPA还没装的话,官网下载安装,装的时候把浏览器扩展一起装好。日报机器人不需要什么高级配置,社区版就能跑,但要注意社区版有每日运行时长限制,如果你的业务流程本身很重,日报流程要尽量精简——读表、拼文本、发消息,三步搞定,几十秒的事。
在这里插入图片描述

日报机器人在影刀RPA里的本质是两个应用:一个是业务应用(干活的),一个日报应用(汇报的)。很多新手把日报逻辑塞进业务流程末尾,业务一挂日报也跟着挂,最后日报永远只报"好消息"——这是我踩过的第一个坑,所以一定要拆成两个独立应用。

变量与数据类型:日报内容的拼装材料

日报内容是各种变量拼出来的,先把变量类型理清楚。数字型用来存采集条数、成功数、失败数;字符串用来拼通知文本;列表和字典用来装从 Excel 读出来的汇总数据。

日期处理是日报的重头。影刀RPA有个【获取时间详细信息】指令,能拿到年、月、日、时、分、秒、星期、当月最后一天、当年第几周、当年第几天,日期时间参数留空就默认取当前系统时间。我拿它拼"昨日"这个字符串:

# 获取时间详细信息指令的输出变量拼昨日日期(Python输入模式)
# 假设输出变量名为 time_info
yesterday = (int(time_info["day"]) - 1) if int(time_info["day"]) > 1 else 1
report_title = "【日报】" + str(time_info["year"]) + "年" + str(time_info["month"]) + "月" + str(time_info["day"]) + "日 采集运行情况"

有个小细节容易翻车:当年第几周的计数是从 0 开始的,比如 2025-1-1 是当年第 0 周。想按周做汇总的话记得加 1,不然每周一你看到的"第0周"会让人一头雾水。

数据处理:汇总表是日报的数据源

日报应用自己不采集数据,它只负责把业务流程留下的记录读出来。我的做法是业务流程每跑完一轮,就用【写入内容至Excel工作表】往 run_log.xlsx 追加一行:时间、任务名、状态、数据量、耗时。
在这里插入图片描述

日报应用早上被唤醒后,用【读取Excel内容】把昨天的行全部读进来,然后用 If 条件逐行统计:状态等于"成功"的累加条数,不等于的记入异常列表。统计完把结果拼成一段纯文本,这就是日报的正文。

汇总字段来源举例
运行轮次run_log 行数12次
采集总量数据量列求和48210条
异常轮次状态列筛选1次
最慢一轮耗时列最大值8分42秒

表格别超过四列,群里看日报的人要的是一眼扫完的结论,不是明细。明细让他们去看 run_log 文件。

系统联动:定时任务的两种配法

定时执行是这篇的核心,影刀RPA里有两种路子,我用的是第一种,但第二种你必须知道。

第一种是本地计划:如果你的账号版本支持,可以在客户端里给应用设置定时运行。优点是配置简单,缺点是依赖这台电脑开机、登录且影刀客户端在线。

第二种是企业版的调度中心,也是无人值守的正解。先把客户端切换成调度模式(任务栏右键影刀图标 → 工具 → 切换为调度模式,或者在客户端点个人头像 → 工具 → 切换为调度模式),这台机器就变成一个"影刀机器人"。然后到控制台 → 任务管理 → 常规任务计划 → 新建常规任务,选好要执行的应用和机器人,执行方式可以周期执行也可以定时执行一次,周期比如每周一10:00执行,还可以用 Crontab 表达式写更细的执行周期。

我的日报计划就是 Crontab 写的每天 08:00 触发。机器人有三种状态要认识:空闲(可执行新任务)、运行中(正在跑任务)、离线(不在线无法执行)——日报没发出来的话,先去控制台看机器人是不是离线了。
在这里插入图片描述

进阶技能:日报推送到群与邮箱的实现

日报内容拼好后,推送有两条路。发群用【HTTP 请求】指令 POST 群机器人的 Webhook 地址,协议头按"协议头名称:协议头内容"格式填,协议体放 JSON 格式的消息文本,响应结果里的 status_code 以 2 开头即发送成功。

发邮箱用【发送邮件】指令,配置项在指令详情面板里:发件人填邮箱,收件人可填多个且用英文分号分隔,高级设置里 SMTP 服务器下拉选择 163/126/qq 邮箱,勾选使用 SSL,勾选 SMTP 服务器需要身份验证并填授权码。授权码不是登录密码,要去邮箱设置里单独生成,这是新手发信失败的第一大原因。

# 日报正文拼接示例(Python输入模式,拼好喂给发送邮件/HTTP请求)
lines = []
lines.append(report_title)
lines.append("运行轮次:" + str(run_count) + ",采集总量:" + str(total_rows))
lines.append("异常轮次:" + str(error_count))
if error_count > 0:
    lines.append("异常明细见 run_log.xlsx,请优先处理。")
report_body = "\n".join(lines)

我两条路都配了:群日报给团队看,邮件日报带 run_log 附件给老板。发件人名称记得填个人话的名字,收到一封"机器人"发来的邮件观感很差。

流程控制:日报自身的异常处理不能省

日报应用自己也要包 Try-Catch,否则哪天读不到 Excel,定时任务红了都没人知道。我的结构是:Try 里放读取汇总、统计、拼文本、推送四段,Catch 里存异常信息并发一条"日报生成失败"的紧急消息,Finally 里清空临时变量。

另外日报开头要做一次 If 条件判断:如果 run_log 里昨天的记录是空的,说明业务流程昨天压根没跑,这本身就是要立刻上报的致命情况,日报应该直接发"昨日无任何运行记录"而不是报错退出。日报的价值不只在汇报成功,更在于发现"该跑没跑"。
在这里插入图片描述

网页自动化:日报顺带核验后台数据

进阶一点的玩法,是日报在推送前去业务后台核一眼。比如我会在日报里加一步:打开网页指令登录采集后台,用等待元素(web)指令等数据看板加载出来(等待状态选元素出现,超时时间设 30 秒,等待结果返回 True/False),再用获取元素信息(web)指令把"今日入库总量"读出来,跟本地 Excel 的统计对一下。

对不上就说明入库环节有问题,日报里加一行红色警告。这一步涉及元素捕获:点顶部工具栏的"捕获元素"按钮,鼠标移上去出现橙色边框后点击确认,捕获不稳就改用 XPath 写,contains(text(),‘入库总量’) 这种模糊匹配足够用了。不熟悉 XPath 的话,CSS 选择器按 class 名匹配也行,两套写法建议都练熟。

鼠标键盘与图像:锁屏运行的注意点

定时任务经常在锁屏状态下跑,这里有两件事要交代。第一,影刀RPA的网页自动化大多不依赖真实鼠标移动,锁屏能跑;但个别用图像识别定位的操作锁屏后可能失效,日报流程里尽量别用图像识别。第二,如果业务流程里有绕不开的屏幕操作,可以用屏幕解锁相关的指令先解锁再执行,日报末尾再锁回去。

键盘类指令我唯一在日报里用的是发送快捷键做窗口切换兜底,但更推荐用获取窗口对象按标题定位窗口,比模拟 Alt+Tab 可靠得多。总的原则:日报机器人越"无鼠标"越稳。

平台实战:电商日报的真实样例

我的日报长这样:【日报】9月26日采集运行情况 / 运行轮次12,采集总量48210条 / 异常轮次1(拼多多店铺页超时,已重试成功)/ 昨日入库总量与后台核验一致。团队看到就知道今天不用管,异常轮次大于2才需要人工介入。
在这里插入图片描述

不同的电商平台数据源不同,但日报骨架完全一样:淘宝的生意参谋、拼多多的后台、TEMU 的卖家中心,无非是采集段的 XPath 和后台核验的元素不一样。日报应用做成模板,换个平台只改采集和核验两个子流程。

工程化规范与调试:让日报长期稳定

调试日报应用时善用断点:鼠标移到指令行号后面的空白处点击,出现橙色点就是断点,运行到断点会暂停,下方调试变量面板能看到所有变量的实时值和类型,点继续或单步调试逐行排查。有个细节:自动暂停时,打断点的这条指令还没执行,很多人在这里误判。

命名和版本管理也别糊弄:日报应用命名为 Daily_Report,子流程 Read_Log、Push_Group、Push_Mail 各司其职。日报跑了一个月后,run_log 文件会越来越大,记得加一段每月归档的逻辑,把旧数据挪走,读取速度才不会慢慢变差。

速查表:日报机器人高频故障排查

  1. 定时没触发:先看控制台机器人状态,离线了就是调度模式没开或电脑断网休眠。
  2. 邮件发送报错:九成是授权码问题,去邮箱设置重新生成,别用登录密码。
  3. 日报内容为空:检查 run_log 路径是绝对路径还是相对路径,计划任务的工作目录和你手动运行时不一样。
  4. 第0周困惑:获取时间详细信息的"当年第几周"从 0 开始计数,展示时加 1。
  5. 群消息发不出去:HTTP请求的响应结果里 status_code 不是 2 开头,检查 Webhook 地址有没有失效或被安全设置拦截。

延伸阅读与学习资源

官方文档里"调度管理"和"任务监控"两篇是定时日报的必读篇目,任务监控页还能设置告警邮箱和钉钉群,计划任务执行异常会直接提醒,跟日报形成双保险。影刀学院的 HTTP 与日期时间专题课也值得过一遍。
在这里插入图片描述

这套日报机器人的完整源码我放在代码仓库 home.linyan.cloud,可以直接参考改造,把汇总表路径和 Webhook 地址换成你自己的。

#影刀RPA #RPA自动化 #定时任务 #日报 #电商自动化

作者:林焱
在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐