影刀RPA实操指南懂车帝报价与经销商信息监控做汽车销售或者渠道管理的人都有这种体验懂车帝上各地经销商的报价天天变优惠幅度、裸车价、经销商电话要挨个点开看盯一个车型就要来回切好几次城市人工盯三款车都费劲。这篇文章讲怎么用影刀RPA搭一套报价监控流程每天定时采集指定车型的报价和经销商信息和昨天的数据对比价格变动自动推送到飞书群。我实操影刀RPA两年多监控类流程和采集类流程的差别我算是踩明白了采集是跑一次的事监控是天天跑的事稳定性的要求完全不在一个量级。这篇除了步骤重点讲怎么让流程连续跑一个月不翻车。认识影刀RPA与监控流程的整体设计没装过影刀RPA的先去官网下载安装注册登录后新建流程懂车帝报价监控浏览器扩展里给Chrome装上影刀插件装完记得重启一次浏览器。监控流程挂定时任务社区版每天30分钟时长够跑一次但如果监控车型多建议创业版不限时长。整体架构分四层采集层负责抓当日报价存储层负责落Excel或数据库对比层负责算出变动项通知层负责推飞书。四层各自做成子流程任何一层出问题单独修不牵连其他层。元素定位与报价页的结构分析懂车帝报价页的列表带懒加载和城市筛选定位前先按F12看结构。报价列表每一行是一个经销商条目行内字段包括经销商名称、报价、优惠信息、电话按钮。捕获元素用标准流程点顶部工具栏捕获元素鼠标移上去出现橙色边框点击确认。但报价列表的class带哈希直接捕获隔天必失效。三个稳定化手段都在元素编辑里做取消勾选会变化的中间节点只留最后一级稳定节点用正则把class里的随机数字通配掉用行内唯一属性如经销商门店id做定位锚点常用XPath示例可直接套用到经销商列表# 捕获元素经销商列表的单行条目 //div[contains(class,dealer-item)] # 捕获元素行内的报价金额 //div[contains(class,dealer-item)]//span[contains(class,price)] # 捕获元素行内的经销商名称链接 //div[contains(class,dealer-item)]//a[contains(class,dealer-name)] # 参照物定位通过询底价按钮文字找它所在行的报价 //*[contains(text(),询底价)]/ancestor::div[1]//span[contains(class,price)] # 模糊匹配定位包含电议字样的特殊报价 //*[contains(text(),电议)] # CSS选择器结构工整时用CSS更短 div.dealer-item span.price电议是报价页的隐形坑有些经销商不显示数字报价只显示电议两个字你的价格清洗逻辑遇到它会报类型错误必须提前在元素判断里过滤。变量与数据类型监控数据的组织方式监控场景的数据结构比单纯采集复杂四种类型都要用上车型名是字符串今日报价是数字经销商列表是列表单行数据用字典打包。字典的键建议固定成表头{“经销商”: xxx, “报价”: xxx, “优惠”: xxx, “城市”: xxx, “日期”: xxx}写入存储时直接按键取格式永远整齐。JSON是监控流程里最常打交道的类型。报价数据很多是接口异步返回的网页监听拿到的就是JSON。处理链路固定四步接口响应文本 → JSON解析指令转成对象 → 按key取值或遍历 → 需要存文本时再转回字符串。JSON解析后类型别搞混接口里的价格有时是数字有时是字符串取值后统一转数字再比较不然39900和39900的对比会出问题。流程控制无限循环加While的实战组合报价页是滚动加载不知道一共多少条官方文档网页数据获取时需要翻页或下拉给了判断方案我改成监控版【无限循环】开始【循环相似元素(web)】抓当前可见的全部经销商行每行数据写入记录列表已存在的用【继续下一次循环】跳过【鼠标滚动网页】滚到底部【等待】两秒让新数据加载对比滚动前后记录列表长度不再增长就【退出循环】页面底部有没有更多了之类的提示时直接用【IF 网页包含】判断提示元素存在就退出比对比长度更省一步。While条件循环用在外层监控任务是每天跑一次但如果当次采集失败用While重试最多三次三次都失败再走告警分支防止半夜流程反复空转。Try-Catch必加且要按子流程分模块加采集层Try里包采集指令Catch里【打印日志】记录报错并发飞书告警Finally里关闭网页。整层失败和单行失败要区别处理单行抓不到就跳过记日志整层失败就终止本轮并告警。网页自动化城市切换与登录态保持监控多城市报价的做法是循环城市列表每个城市对应一个带城市参数的URL【打开网页】指令把URL拼上城市编码直接开新标签页比在页面上点城市选择器稳定得多。城市编码在F12的网络面板里看一眼请求参数就能拿到。【等待网页加载完成】之后不要立刻抓报价数据异步加载用【等待元素(web)】等第一行经销商条目出现超时20秒。等待超时的处理比等待本身重要超时说明页面结构变了或被风控了Catch里记录现场并跳过这个城市不要让单个城市的失败拖垮整轮监控。弹窗处理按官方五步法测回车、Esc、刷新网页、点空白处、Tab加回车。懂车帝的引导弹窗用Esc基本都能关流程开头预防性执行一次。数据处理Excel落库与新旧对比当日数据采集完先写入Excel用【打开/新建Excel】指令打开监控工作簿按日期建sheet【写入内容至Excel工作表】整块写入【保存/另存Excel】后【关闭Excel】。监控跑得久的话单文件会越来越大每月拆一个文件历史数据定期归档。对比逻辑是监控的灵魂。昨日数据读成列表今日数据在内存里比对# 输入today_list 今日数据yesterday_dict 昨日数据键为经销商名# 输出change_list 价格变动列表change_list[]foritemintoday_list:nameitem[经销商]price_todayfloat(item[报价])ifnameinyesterday_dict:price_yesterdayfloat(yesterday_dict[name][报价])# 报价变化超过500元才告警过滤掉小幅波动![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f7e9470ebcbf4e6db0654e94a27b477d.png#pic_center)ifabs(price_today-price_yesterday)500:change_list.append({经销商:name,昨日报价:price_yesterday,今日报价:price_today,变化:price_today-price_yesterday})数据量大到Excel吃力时换数据库【连接数据库】指令连MySQL【批量插入到数据库】写历史表查询比对用SQL一句话搞定最后【关闭数据库连接】。官方文档里数据库的五个常见报错登录失败、字符集乱码、插入卡住等都查得到原因。鼠标键盘图像自动化电话与验证场景经销商电话很多页面不直接展示明文要点一下查看电话按钮才显示按钮能捕获就用【点击元素(web)】点完电话元素就渲染出来了接着取文本。个别按钮藏在悬停菜单里用【鼠标悬停在元素上(web)】先悬停展开再点。万一层级太深捕获不到元素图像方案兜底网页截图截按钮区域用【等待图像】确认出现后配合鼠标点击坐标处理。识别类需求接OCR影刀离线OCR免配置识别经销商截图里的文字信息够用。进阶技能网页监听直接拿接口数据报价数据异步加载时元素抓取又慢又脆直接监听接口是更稳的路。影刀RPA监听四步官方文档使用网页监听指令获取数据里给的流程是【开始监听网页请求】→ 跳转至新网址重新加载 → 延迟等待 → 【获取网页监听结果】拿到接口返回 → 【停止监听网页请求】。监听结果里的URL参数填第一步记下的接口地址返回的JSON解析后直接就是结构化报价数据。这套方案我从元素抓取切过来之后流程稳定性提升明显接口字段不会像页面class那样天天变。需要主动拉数据而不是等页面渲染时用【HTTP 请求】指令带GET方法直接请求接口响应内容里状态码先判断200再解析。系统联动飞书告警与定时触发价格变动推飞书用【飞书群通知】指令飞书群设置里添加自定义机器人复制webhook地址填进机器人地址参数消息格式选文本。通知内容我把变动明细拼成一段文本每行一个经销商名称、昨日价、今日价、差价。机器人安全设置勾了签名校验的把密钥也填上。定时执行两条路都可用客户端右上角计划任务手动配置每天执行要更精细的触发比如每两小时用【定时触发器】。电源设置务必关睡眠官方文档计划任务Windows电源设置问题专门讲这个。我自己的节奏是每天早上6:50跑采集7:00前群通知准时到全天数据不掉线。工程化规范让监控连续跑30天监控流程的工程化比采集严苛我的四条军规所有子流程带输入输出参数主流程只做调度每层Try-Catch独立报错必须【打印日志】落文件日志带时间戳命名规范变量带类型前缀子流程模块_动作格式每次改版前复制流程文件做版本备份v2出问题秒回v1日志我分三层指令级的【打印日志】记关键动作子流程级记进入退出时间流程级记开始结束和总耗时。排查连续失败时靠日志时间线就能还原当天每一轮卡在哪。断点加单步的调试方法不再重复变量面板看值这一招走遍天下。易错速查表报错/现象原因解决方法报价列混入电议导致报错特殊报价无数字取值后判断是否数字非数字单独标记监听结果为空监听开始晚于请求发出先开始监听再刷新页面连续多天采集为空页面改版class失效元素重新捕获用正则通配哈希计划任务没跑电脑睡眠关闭Windows自动睡眠数据库插入中文乱码字符集不匹配连接串指定utf8mb4学习资源与延伸阅读官方文档里使用网页监听指令获取数据“网页数据获取时需要翻页或下拉”网页弹窗处理三篇是监控流程的三块基石本文方案全部有据可查。完整流程源码我放在代码仓库 home.linyan.cloud可以直接参考改造把车型列表和城市列表换成你的监控对象。飞书机器人的申请流程飞书官方帮助中心有图文教程搜在群组中使用机器人就能找到。#影刀RPA #RPA自动化 #数据监控 #定时任务 #懂车帝作者林焱