影刀RPA新手教程错误告警完全指南——流程出错时自动发消息通知自己一、开篇流程默默挂掉的恐惧我最怕的事情是定时任务默默失败了我却不知道。有一次我去外地出差三天回来发现我的数据采集流程已经挂了两天了。没人告诉我流程也没任何提示。另一个同事调侃说“你这机器人有点不靠谱啊。”从那以后我学乖了所有流程都加了错误告警。现在流程只要一出错我手机马上震。今天教你最基础、最实用的错误告警方案一行代码都不要你写。二、安装与基础配置影刀安装官网下载Windows版安装时勾选浏览器扩展。告警方案需要两个条件影刀流程用来执行任务一个能接收消息的地方飞书、企业微信或邮件都可以推荐用飞书或企业微信因为消息即时送达手机上就能看。如果是邮件告警延迟可能会有一两分钟但也比没有强。配置机器人Webhook的方法上两篇文章已经讲了这里不再重复。核心就一句话创建飞书/企业微信群机器人拿到Webhook地址保存好。三、元素定位回顾告警流程本身不涉及元素定位但流程出错的原因往往和元素定位有关。最常见的错误就是元素未找到。XPath定位示例//button[contains(class,primary) and text()提交]。这个XPath找到class包含primary且文字是提交的按钮。有一个防御技巧写两个定位方式做后备。第一个用XPath找不到时用备用的CSS选择器。CSS备用定位.submit-btn-primary。正则表达式用来验证抓取的数据格式比如邮箱格式^[a-zA-Z0-9._%-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}$。数据验证放在数据抓取之后处理之前格式不对的数据跳过或标记。拼多多店群自动化上架方案四、变量与错误信息错误告警中最关键的内容是告诉你是谁出错了、哪里出错了、什么原因。Python代码放在执行Python代码指令里影刀可以通过变量exception_info获取错误信息。在Try-Catch的Catch块中这个变量自动包含出错详情。告警消息的变量构造error_time {}{}{} {}{}{}{}{}{}.format(now.year, -, now.month, -, now.day, , now.hour, :, now.minute) alert_msg 【流程异常告警】\n流程名称数据采集\n发生时间 error_time \n错误详情 exception_info如果用Python拼接可以写得更清晰alert_msgf【流程异常告警】 流程名称{flow_name}发生时间{error_time}错误信息{exception_info}请及时处理数据类型的坑确保所有拼接进去的变量都是字符串类型数字要先转字符串。五、流程控制Try-Catch核心Try-Catch是错误处理的脊梁骨。不理解它告警无从谈起。Try-Catch在影刀里是一个指令块在流程控制分类下可以找到。拖一个Try-Catch指令到画布上它会分成上下两块区域。上面的区域叫Try块放你的正常业务流程。下面的区域叫Catch块放出错时要执行的操作。工作原理影刀先执行Try块里的内容。如果一切正常跳过Catch块。如果Try块里任何地方出错立即跳到Catch块执行。在Catch块里放什么放一个发送飞书消息的HTTP请求指令。这样流程出错的瞬间你就会收到消息通知。Try-Catch可以嵌套但初学者一层就够了。六、核心实战第一个错误告警流程现在直接动手做。假设你有一个简单的数据采集流程。第1步在画布上先拖一个Try-Catch指令。第2步把原来所有的流程步骤打开网页、登录、采集数据、保存Excel全部拖进Try块里。第3步在Catch块里放一个输出日志指令内容写流程出错 exception_info一个发起HTTP请求指令配置飞书Webhook地址发送告警消息HTTP请求的请求体{msg_type:text,content:{text:【流程异常】数据采集流程运行失败请及时检查。错误信息exception_info}}第4步保存流程手动把某个步骤搞错比如故意填错XPath然后运行测试。你应该能收到飞书消息通知内容是流程出错了。这个基础框架搭好后任何流程都能往里面套。七、进阶告警消息的细节优化基础的告警只有一句话出错了但好的告警应该包含更多信息。扩展告警信息的内容流程名称知道是哪个流程出问题错误时间精确到秒错误类型元素未找到、变量未定义、网络超时等出错步骤流程里第几步出错了建议操作给一个排查方向Python代码示例放在Catch块的执行Python代码指令里flow_name每日数据采集step_name当前步骤名称error_msgstr(exception_info)alertf⚠️ 流程异常告警 流程{flow_name}步骤{step_name}时间{datetime.now().strftime(%Y-%m-%d %H:%M:%S)}错误{error_msg}建议请检查网页是否改版或网络是否正常然后把alert赋值给影刀的变量alert_message发给飞书。这类告警模板我整理了一些在home.linyan.cloud可以直接参考。八、进阶分级告警不是所有错误都需要你立刻处理。可以根据严重程度分级告警。Level 1 - 信息流程成功但有小问题。比如数据少采集了2条但不影响主流程。Level 2 - 警告流程能跑但结果可能不对。比如数据格式异常已跳过3条。Level 3 - 错误流程中断。必须立刻处理。在Catch块里用If条件判断错误类型if 元素 in error_msg: level 警告 elif 网络 in error_msg: level 警告 else: level 错误不同级别可以发到不同的群。错误级发到紧急群警告级发到日志群。TEMU店群如何管理运营九、平台实战完整错误处理流程现在串一个带完整错误处理的流程。流程结构Try块步骤1打开浏览器跳转到数据看板步骤2登录系统步骤3等待数据加载步骤4批量数据抓取步骤5数据验证步骤6写入Excel步骤7发送飞书成功通知Catch块步骤1拼接错误消息步骤2发送飞书告警消息步骤3发送企业微信告警双保险步骤4输出详细的错误日志双保险告警最让人安心飞书和企业微信同时通知减少漏看的可能。如果飞书挂了企业微信还能收到反之亦然。十、系统联动错误告警可以和更多系统打通形成一个完善的监控体系。与定时任务联动在调度中心配置定时执行出错时自动告警。与日志系统联动告警消息里带上日志链接或关键日志内容。与重试机制联动出错后自动重试。影刀枚举里有重试策略retry重试、retry_continue重试后继续。异常执行策略配置terminate出错停止默认continue出错继续retry出错重试retry_continue重试后继续在调度配置里可以设置这些策略。一般选retry重试1-2次。十一、工程化规范错误处理的工程化建议所有生产流程必须有Try-Catch包裹。Catch块必须有告警通知不能只写一条日志就完事。告警消息里包含流程名称和错误时间。不要在告警消息里暴露敏感信息密码、token。定期演练告警效果确保消息能正常收到。告警消息建议发送到一个专门的群不要混在正常工作群里。记录告警的历史分析最常见的错误类型并优化流程。十二、速查表异常处理策略速查terminate停止执行continue继续执行retry重试retry_continue重试后继续执行告警渠道配置速查飞书msg_type“text”content.text写入消息内容企业微信msgtype“text”text.content写入消息内容邮件SMTP配置发送告警邮件常见错误类型速查ElementNotFound元素未找到VariableNotDefined变量未定义ConnectionTimeout连接超时FileNotFound文件未找到TypeMismatch类型不匹配PermissionDenied权限不足作者林焱#影刀RPA #RPA教程 #错误告警 #TryCatch #影刀新手 #自动化运维 #监控告警