影刀RPA进阶教程_流程日志系统搭建关键节点与错误截图
影刀RPA进阶教程流程日志系统的搭建——关键节点日志、错误截图与运行报告流程跑完打开Excel发现数据只有一半你不知道是第几页崩的、什么原因崩的、崩溃时页面长什么样。日志系统就是解决这个问题的。它回答三个问题什么时候崩的在哪崩的崩的时候长什么样一、日志系统的三个层次层次作用实现方式关键节点日志记录流程运行到哪一步、关键变量值输出日志指令错误截图异常发生时自动保存页面截图Catch块 截图保存指令运行报告流程结束后输出一份汇总Python代码指令生成报告三个层次叠加线上排查从盲猜变成看一眼日志就知道问题在哪。二、关键节点日志在哪里加日志拼多多店群自动化上架方案不要每条指令都加只在里程碑位置加# 日志插入点 输出日志( 流程开始 )输出日志(搜索关键词连衣裙)输出日志(目标页数10页)输出日志(输出路径D:\数据.xlsx)# 每个子流程前后输出日志(→ 开始搜索商品...)调用子流程(B_搜索商品)输出日志(← 搜索完成)输出日志(→ 开始采集列表...)调用子流程(C_列表采集)输出日志(← 采集完成共采集str(总条数)条)# 翻页时记录输出日志(翻到第str(当前页)页当前页采集str(当前页条数)条)# 关键判断判断元素是否存在(下一页按钮)输出日志(下一页是否存在str(元素是否存在))# 异常捕获尝试捕获(Try):采集操作()捕获异常(Catch):输出日志(!!! 错误错误信息)输出日志(!!! 发生在第str(当前页)页第str(当前序号)条)输出日志( 流程结束 )三、日志的格式规范日志不能随便写要保证事后看能快速定位。推荐格式[时间] [级别] 模块名 - 具体信息在影刀里用这种方式实现# 用当前时间()函数获取时间戳输出日志([当前时间()] [INFO] 采集模块 - 第str(页码)页采集完成共str(条数)条)# 错误日志输出日志([当前时间()] [ERROR] 采集模块 - 第str(页码)页找不到商品列表元素)实际运行时日志输出样例[2026-06-09 14:30:01] [INFO] 主流程 - 流程启动搜索词连衣裙 [2026-06-09 14:30:03] [INFO] 搜索模块 - 搜索完成 [2026-06-09 14:30:05] [INFO] 采集模块 - 第1页采集完成共20条 [2026-06-09 14:30:07] [INFO] 采集模块 - 第2页采集完成共20条 [2026-06-09 14:30:09] [ERROR] 采集模块 - 第3页找不到下一页按钮可能是最后一页 [2026-06-09 14:30:10] [INFO] 清洗模块 - 清洗完成原始40条→有效38条 [2026-06-09 14:30:11] [INFO] 主流程 - 流程结束成功采集38条数据一眼就看出第3页翻页停了可能是到了最后一页不是bug。四、错误截图——崩溃时留下现场Catch块里除了输出日志再加一步截图。这样排查时不用复现现场看截图就知道页面当时长什么样。# 带截图的异常处理 尝试捕获(Try):获取相似元素列表(商品卡片列表)-卡片列表 遍历采集...捕获异常(Catch 任意异常):时间戳当前时间()截图文件名D:\\日志\\异常截图_时间戳.png输出日志([ERROR] 捕获异常错误信息)截图保存(截图文件名)# 继续还是停止如果 是致命错误:输出日志([FATAL] 流程终止)终止流程 否则:输出日志([WARN] 跳过当前页继续下一页)截图保存到固定的日志目录按日期分类D:\影刀日志\ ├── 2026-06-09\ │ ├── 正常运行.log │ ├── 异常截图_143005_第3页.png │ └── 异常截图_150120_验证码.png ├── 2026-06-10\ ...TEMU店群如何管理运营五、运行报告——流程结束后的汇总最后一步用Python代码汇总整个流程的运行结果。# 运行报告Python代码指令 importdatetime nowdatetime.datetime.now().strftime(%Y-%m-%d %H:%M:%S)报告f 影刀RPA流程运行报告 流程名称拼多多商品搜索采集 执行时间{now}---------------------------------------- 搜索关键词连衣裙 目标页数10页 ---------------------------------------- 实际采集页数{总页数}页 采集商品数{总条数}条 清洗后有效数{有效条数}条 异常次数{异常次数}次 ---------------------------------------- 异常详情{异常详情文本} # 写入日志文件importos log_dirrD:\影刀日志os.makedirs(log_dir,exist_okTrue)log_fileos.path.join(log_dir,f运行报告_{now.replace(:,-)}.txt)withopen(log_file,w,encodingutf-8)asf:f.write(报告)print(报告)六、日志不要存太多——自动清理日志文件不清理的话三个月能堆几个G。在流程末尾加一步自动清理# 清理7天前的日志importosimporttime log_dirrD:\影刀日志nowtime.time()seven_days_agonow-7*24*3600forfolderinos.listdir(log_dir):folder_pathos.path.join(log_dir,folder)ifos.path.isdir(folder_path):folder_timeos.path.getmtime(folder_path)iffolder_timeseven_days_ago:importshutil shutil.rmtree(folder_path)print(f已清理过期日志{folder})七、速查日志系统要覆盖的关键点位置记录内容指令流程启动参数搜索词、页数、输出路径输出日志每个子流程前后进入/退出 耗时或结果条数输出日志每次翻页页码、本页条数输出日志每次条件判断判断结果True/False输出日志Catch块错误信息、页码、序号输出日志 截图保存流程结束汇总报告Python代码作者林焱本文为《影刀RPA学习手册》系列文章之一内容源于实操经验的整理与分享。