影刀RPA避坑指南:异常处理与报错排查的7个关键点

流程跑到一半突然报错,弹窗关不掉,数据也没保存——这是最让人崩溃的情况。

我刚开始用影刀RPA做电商采集时,最怕的就是这个。后来才明白,异常处理不是可选项,是必选项。

这篇文章把影刀RPA的异常处理机制和报错排查方法一次讲透,都是我踩坑后总结的实操经验。

picture.image

影刀RPA的Try-Catch-Finally指令怎么用

影刀RPA内置了Try-Catch-Finally指令,但很多人直接忽略它。

picture.image 场景:任何可能出错的步骤,比如点击按钮、读取文件、请求网页。

方法:把可能出错的指令拖进Try块,Catch块处理错误,Finally块收尾。

具体操作:

  1. 在右侧指令面板搜索“Try”,拖入流程

picture.image 2. 把可能出错的指令(比如“点击元素”)拖进Try块

  1. 点击Try指令下方的“添加Catch”按钮
  2. 在Catch块中拖入“输出日志”指令,记录报错信息
  3. 点击“添加Finally”,放入关闭弹窗、释放资源等操作
# 影刀Python指令中的异常处理示例

![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/7b15abe1586146ec987a34a7ce5a825f~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1791901533&x-signature=7SKXQjLX85fpS4meiEg6AlUnhgk%3D)
try:
    # 可能出错的代码:读取Excel文件
    df = pd.read_excel('商品数据.xlsx')
except FileNotFoundError as e:
    # 捕获文件不存在错误
    print(f"文件未找到:{e}")
    # 在影刀中,这里可以调用“输出日志”指令
    
![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/f0b56e83bf2b499880b5a849858a4f9f~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1791901533&x-signature=e%2FRmJaXqvfDRvNW3GYTiWYShqTU%3D)
except Exception as e:
    # 捕获其他所有异常
    print(f"发生错误:{e}")
finally:
    # 无论是否出错都执行,比如关闭文件
    print("流程结束")

picture.image

注意:社区版每天30分钟额度,如果异常导致流程卡死,额度会被白白耗尽。创业版无限制,但同样需要异常处理。

分模块异常处理:让报错定位更精准

整个流程只包一个Try,报错后根本不知道哪一步出了问题。

picture.image

方法:按功能模块拆分子流程,每个子流程内部独立加Try-Catch。

操作步骤:

  • 把流程拆成“登录”“采集”“保存”三个子流程
  • 每个子流程内部单独加Try-Catch
  • 子流程调用时,外层再包一层Try

这样采集子流程报错,不会影响保存已采集的数据。

错误截图与运行报告:事后排查的依据

流程半夜跑挂了,早上才发现,什么现场都没留下。

方法:Catch块加“截图”指令保存现场,加“发送邮件”指令通知自己。

具体操作:

  1. Catch块第一行加“截取屏幕”指令
  2. 设置保存路径为D:\RPA错误截图\
  3. 加“发送邮件”指令,附件带上截图
  4. 日志中记录错误信息和时间戳

影刀RPA自带运行报告功能,社区版也支持。在流程结束后可以查看每个指令的执行状态。

防止流程卡死的三个设置

场景:流程卡在某个弹窗或等待上,一直不动。

方法:设置超时、最大重试次数、强制退出条件。

  • 在“等待元素出现”指令中设置超时时间30秒
  • 在“循环条件”中设置最大循环次数,比如100次
  • 用“终止流程”指令配合条件判断,强制退出
设置项推荐值作用
等待超时30秒避免无限等待
最大循环100次防止死循环
重试次数3次避免无限重试

常见问题速查

Q:Catch块里还能再报错吗?

A:会。所以Catch块里的操作要尽量简单,只做日志和截图,不要放复杂逻辑。

Q:Finally块什么时候执行?

A:无论Try块是否报错,Finally块都会执行。适合放关闭浏览器、释放资源等操作。

Q:魔法指令能帮我写异常处理吗?

A:可以。影刀3.0的魔法指令支持对话式生成,你描述需求,它自动生成Try-Catch结构。但生成后要自己检查逻辑。

Q:社区版异常处理有功能限制吗?

A:没有。异常处理指令全版本通用。唯一限制是社区版30分钟/天。

推荐资源

  • 影刀RPA官方学院有“异常处理”专题课,免费
  • 影刀社区搜索“错误截图”,有现成子流程可下载
  • 官方文档“Try-Catch-Finally”章节,有完整参数说明

#影刀RPA #RPA自动化 #异常处理 #报错排查 #流程设计

作者:林焱

本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。

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