资讯详情

影刀RPA进阶教程:分模块异常处理与自动错误截图系统搭建

📅 2026/10/25 7:24:21 | 华诺云谱 👁 阅读
影刀RPA进阶教程:分模块异常处理与自动错误截图系统搭建
影刀RPA进阶教程分模块异常处理与自动错误截图系统搭建流程跑着跑着突然中断你不知道在哪一步出错、当时页面长什么样只能从头再来。这种痛苦做过自动化的都懂。影刀RPA的try-catch-finally机制加上自动截图能把排错时间从小时级缩到分钟级。这篇讲怎么给每个模块单独做异常处理以及搭建一套自动错误截图系统。分模块Try-Catch-Finally异常处理架构影刀RPA的异常处理不是把整个流程包在一个Try里就完事那样Catch块里根本不知道是哪一步出的问题。正确做法是按功能模块拆分每个模块独立Try。一个Try块只包一个功能模块Catch块里记录模块名称和报错信息这是分模块异常的核心。操作步骤把流程按功能拆成模块登录模块、采集模块、翻页模块、写入模块每个模块外层包一个Try-Catch-Finally指令在指令面板搜索异常处理Try块内放该模块的所有指令Catch块内拖入输出日志指令日志内容写模块名报错变量Finally块内放收尾操作关闭弹窗、清理临时变量等# 影刀RPA中用执行Python代码指令实现分模块异常处理的日志格式deflog_error(module_name,error_msg,page_url):分模块错误日志记录log_entry{时间:get_current_time(),# 影刀RPA中用获取当前时间指令模块:module_name,# 如登录模块、采集模块错误:str(error_msg)[:200],# 截断过长的报错信息页面:page_url,# 当前页面URL状态:异常}![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/777abb8b868e499f86dd6d2d0a18dd79.png#pic_center)# 写入日志文件withopen(C:/Desktop/rpa_error.log,a,encodingutf-8)asf:f.write(str(log_entry)\n)returnlog_entry# 各模块的异常处理结构# 登录模块 → try: 登录操作 / catch: log_error(登录模块, error, url)# 采集模块 → try: 采集操作 / catch: log_error(采集模块, error, url)# 翻页模块 → try: 翻页操作 / catch: log_error(翻页模块, error, url)影刀RPA的异常处理指令在右侧指令面板搜索Try就能找到拖入后会出现三个区域Try块、Catch块、Finally块分别对应正常执行、异常捕获、收尾操作。自动错误截图系统搭建异常发生时光记录日志不够你需要看到当时的页面状态。影刀RPA的截取屏幕指令可以在Catch块中自动截图文件名带上时间戳和模块名。操作步骤在Catch块中拖入截取屏幕指令截图保存路径设为C:/Desktop/rpa_screenshots/文件名格式设为{模块名}_{时间戳}.png截图后拖入输出日志指令记录截图路径把截图路径和报错信息一起写入日志文件# 影刀RPA中自动截图的命名规则# 配合截取屏幕指令使用importosfromdatetimeimportdatetimedefget_screenshot_filename(module_name):生成带模块名和时间戳的截图文件名timestampdatetime.now().strftime(%Y%m%d_%H%M%S)filenamef{module_name}_{timestamp}.pngfilepathos.path.join(C:/Desktop/rpa_screenshots,filename)![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/cc8a7186bf7942aa8df42b0d132f53cf.png#pic_center)# 确保目录存在os.makedirs(os.path.dirname(filepath),exist_okTrue)returnfilepath# 使用在Catch块中# 1. 先调用此函数生成文件路径# 2. 截取屏幕指令的保存路径填入返回的filepath# 3. 输出日志指令记录filepath截图系统的关键截图目录要提前创建影刀RPA不会自动建目录路径不存在会报错。分模块异常处理对照表模块Try块内容Catch块操作Finally块操作登录模块打开网页、输入账号密码、点登录截图记录登录失败关闭可能的弹窗采集模块获取相似元素、提取文本截图记录采集失败当前URL清空临时变量翻页模块点击下一页、等待加载截图记录翻页失败当前页码重置等待计数器写入模块写入Excel、保存文件记录写入失败已写入行数关闭Excel文件错误通知推送与重试机制异常发生后除了截图记录还需要主动通知。影刀RPA可以通过Python发送企业微信通知同时配合重试机制自动恢复。操作步骤在Catch块截图和记录日志后拖入调用子流程指令子流程名为发送错误通知传入模块名和报错信息子流程内用执行Python代码指令发送Webhook请求重试机制Catch块最后加一个计数器变量重试次数如果重试次数3用返回指令回到Try块开头重试3次仍失败用抛出异常指令终止流程# 影刀RPA中用执行Python代码指令发送企业微信错误通知# 需要配置群机器人的Webhook URLimportrequestsimportjsondefsend_error_notification(webhook_url,module_name,error_msg,screenshot_path):发送错误通知到企业微信群机器人contentf【影刀RPA异常通知】 模块{module_name}错误{error_msg[:100]}截图{screenshot_path}时间{datetime.now().strftime(%Y-%m-%d %H:%M:%S)}data{msgtype:text,text:{content:content}}try:responserequests.post(webhook_url,jsondata,timeout10)returnresponse.status_code200exceptExceptionase:# 通知发送失败不影响主流程returnFalse# 影刀RPA中流程参数配置# 子流程输入参数module_name(String), error_msg(String), screenshot_path(String)# 子流程无输出参数影刀RPA的子流程参数通过流程参数输入输出机制传递。在子流程编辑界面右侧面板有输入参数和输出参数配置区域添加参数后调用时传入对应变量。重试机制实现要点要点说明重试计数器每个模块单独维护一个计数器变量重试间隔第二次重试等5秒第三次等10秒最大重试次数建议3次超过则终止并通知| 重试前清理 | Finally块中关闭弹窗、清理临时数据 || 日志区分 | 记录是第几次重试便于分析 |重试机制不是万能药如果是XPath失效导致的错误重试100次也没用。重试适合网络超时、页面加载慢这类偶发错误。常见问题速查QCatch块里获取不到报错信息怎么办A影刀RPA的异常处理指令Catch块中有一个默认的exception变量在指令详情面板中可以看到变量名。如果没看到检查是否用的是异常处理指令而非手动Try逻辑。Q截图文件太大占用空间怎么办A在截取屏幕指令详情面板中可以设置截图区域为指定元素而非全屏。另外定期用Python脚本清理7天前的截图os.remove(filepath)。Q异常处理导致流程变慢怎么办A影刀RPA的Try-Catch本身不影响性能变慢是因为Catch块中截图和发通知。把通知改成异步不等待返回结果截图区域缩小到报错元素附近。Q社区版能用异常处理指令吗A可以异常处理是影刀RPA的基础指令社区版和创业版都支持。但社区版每天30分钟运行时长异常重试会消耗时间建议测试阶段用社区版正式跑用创业版。推荐资源影刀RPA官方文档 - 异常处理指令详细说明影刀RPA学习中心 - 流程健壮性设计系列视频Python requests库文档用于企业微信Webhook通知的HTTP请求#影刀RPA #RPA自动化 #异常处理 #报错排查 #日志系统作者林焱本文为《影刀RPA学习手册》系列文章之一内容源于实操经验的整理与分享。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑