ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Automation Operation 2.60 桌面自动化配置:识别、回放与避坑指南

Automation Operation 2.60 桌面自动化配置:识别、回放与避坑指南 简介Automation Operation 2.60 是一款面向办公人员、测试工程师及RPA初学者的可视化自动化操作工具包。它通过拖拽式GUI降低使用门槛支持鼠标键盘模拟、图片/OCR/颜色识别、窗口控制、浏览器自动化与后台执行并集成变量管理、Excel数据交换、录制回放及模板管理可应对数据抓取、流程自动化、软件测试等重复性场景。压缩包共414个文件以JavaScript脚本、DLL动态库、JSON配置、CSS样式及可执行文件为主还包含PowerShell脚本、HTML页面和说明文档整体约742.75MB目录结构清晰便于按模块调用与二次开发。目前已有507人学习下载适合希望快速搭建自动化流程、提升重复操作效率的个人用户或团队参考使用。1. 为什么我会把 Automation Operation 2.60 当成桌面自动化的备选方案每天在 Windows 上重复打开窗口、点按钮、填表单、点保存的人多半都动过用 Automation Operation 2.60 这类自动化工具的念头。它的卖点很直接可视化 GUI 把鼠标、键盘、识别串成流程不用写复杂代码就能上手。但我先泼盆冷水纯录制回放的成功率并没有宣传那么高。我最早拿它录从 Excel 往网页搬数据录的时候一切正常回放两次就开始点错地方、输入框没激活就敲键盘。问题不在工具在没搞懂坐标、时序和识别之间的配合。这篇笔记适合三类人做大量重复录入的运营和文员给内部系统做冒烟测试的测试以及懒得写完整脚本的开发者。下面按原理、第一个任务、识别配置、避坑、进阶的顺序给出一套能挂机的方案。2. 先拆开它的三个引擎鼠标、键盘与识别到底在底层做什么用 GUI 工具录脚本不需要懂原理但回放失败时不懂原理就无从下手。Automation Operation 2.60 的能力拆开看就三块鼠标、键盘、识别。这一章把每块背后工具是怎么想的讲清楚每个点都对应你后来会遇到的一种翻车现场。2.1 鼠标操作不是模拟点击这么简单坐标、轨迹与点击三要素鼠标自动化的第一件事是坐标。这类工具通常提供两种坐标模式屏幕绝对坐标和窗口相对坐标。绝对坐标以屏幕左上角为原点录的时候开始按钮在 (800, 500)窗口一挪就废了窗口相对坐标以目标窗口左上角为原点窗口移动后坐标自动换算。能用相对坐标的地方尽量别用绝对坐标。我一般建议新手优先用窗口标题定位 相对坐标的组合。工具在执行前先找到标题匹配的窗口句柄再基于窗口原点换算坐标这样脚本跨窗口、跨分辨率挪动时还兜得住。第二步是理解鼠标事件的分层。常见做法里鼠标模拟分三层系统级模拟SetCursorPos 加 mouse_event光标真的会动兼容性最好但目标窗口必须在前台权限不够时会被拦消息级模拟PostMessage/SendMessage 往窗口发点击消息光标不动也能触发但很多自绘控件、网页控件根本不响应消息级点击驱动级模拟走硬件事件链路最接近真人操作普通可视化工具很少开放。Automation Operation 2.60 这类 GUI 工具默认走系统级模拟所以你会看到回放时鼠标真的在屏幕上自己动。这也意味着脚本运行期间你不能去抢鼠标否则步骤会串。第三件事是点击三要素坐标、按键、按下时长。间隔太短小于 10ms有些程序会当成抖动直接忽略间隔太长超过 500ms可能被理解成拖拽或长按。常规做法是按下后保持 30 到 80ms 再抬起。还有鼠标轨迹这个隐蔽点真人移动鼠标不是瞬移途中会经过中间位置触发悬停事件。如果你录了鼠标移到菜单项上展开子菜单的操作回放时工具把光标直接瞬移过去子菜单可能根本没展开。解决方法是把移动拆成几步或者保留录制时的原始轨迹。# 带轨迹缓冲的点击分步移动 到位停顿 按下保持 def smart_click(x, y, buttonleft, hold_ms50): move_mouse_in_steps(x, y, steps5) # 分 5 段移动触发悬停事件 time.sleep(0.15) # 到位后缓冲等菜单/按钮进入可点状态 press_button(button) # 按下目标按键 time.sleep(hold_ms / 1000) # 保持按下状态 50ms release_button(button) # 抬起形成一次完整点击 time.sleep(0.1) # 点击后缓冲避免下一步过早执行参数说明steps 控制移动分段数。界面元素之间有悬停联动就调大到 10 到 15 段普通按钮 3 到 5 段足够。hold_ms 是按下保持时长网页里长按才有反应的控件可以调到 200ms普通情况保持默认。到位后的 0.15 秒缓冲很关键很多脚本点不上是因为点击事件比界面就绪早了一步。拿鼠标宏的思路来理解就顺了宏录的是按键序列而这类工具录的是坐标 事件 时机的完整序列只是把时间轴换成了可编辑的步骤列表。2.2 键盘自动化按键映射、组合键与输入法状态键盘事件比鼠标简单但有两个坑几乎人人踩过。第一个坑是组合键的按下顺序。标准做法是先按修饰键Ctrl、Alt、Shift再按主键然后先抬主键最后抬修饰键。有些程序在读取按键时会校验修饰键状态如果你顺序写反——先按 C 再按 Ctrl——收到的就是一次普通按键加一次无效的修饰键事件。我见过有人录 CtrlC 回放时老是复制失败展开步骤才发现工具把两个键写成了并行按下。第二个坑是输入法。往输入框填文字时如果目标窗口正处于中文输入法状态发进去的每个字母先进输入法组字窗口可能变成拼音组合或被吞掉。常见的绕行方案有三种输入前先模拟一次输入法切换把状态固定到英文让工具走剪贴板绕行——把内容放进剪贴板再模拟一次 CtrlV这对绝大多数文本框通用对不支持粘贴的控件才逐键输入而且逐键输入前必须确认焦点和输入法状态。第三个能力是键盘映射。这类工具允许你给按键定义别名把 F8 映射成一段组合动作。真正有用的场景是适配目标软件的非标快捷键有些工业软件只在特定布局下响应物理键位用映射把动作重新绑一次改布局时不用改整条脚本。# 组合键发送的标准顺序修饰键先下修饰键后抬 def send_hotkey(modifierctrl, keyc): key_down(modifier) # 第一步按下修饰键 time.sleep(0.02) # 给系统分发修饰键状态留时间 key_down(key) # 第二步按下主键 key_up(key) # 第三步先抬主键 key_up(modifier) # 第四步再抬修饰键 time.sleep(0.05) # 给目标程序留出快捷键处理时间参数说明0.02 秒是给系统分发事件用的省略或太短可能在快速连续操作时丢事件最后 0.05 秒是为了避免紧接着的鼠标点击抢在快捷键处理完成之前执行。如果目标程序反应慢把这两个值翻倍比盲目在每步之间加长 sleep 要有效。2.3 识别能力为什么比固定坐标可靠图像匹配与 OCR 的底层逻辑识别是这类工具从玩具变成生产工具的分水岭。它包含两种东西图像匹配和文字识别OCR。图像匹配的原理是模板匹配你截一张目标按钮的小图工具在屏幕或指定区域里滑动搜索找到相似度最高的位置返回坐标。相似度阈值是 0 到 1 之间的值默认一般在 0.8 到 0.9。阈值太高按钮稍微有点阴影变化就找不到太低形状相近的图标会被当成目标。模板匹配对缩放和旋转敏感同一个按钮在普通屏和高分屏下大小不同模板就可能失效第 4 章会讲参数怎么调。OCR 则是把屏幕上一个矩形区域交给识别引擎返回字符串。它的价值在于处理动态内容网页表单里实时变化的提示文字、设备面板上的仪表识别读数、软件版本号等。识别结果可以用来判断当前处于哪个界面从而决定下一步动作。为什么识别比固定坐标可靠坐标是假定界面不变识别是先确认再行动。固定坐标的脚本遇到窗口移动就是废的而识别先找目标再计算相对位置窗口挪了也能点对。代价是速度全屏做一次图像匹配通常要 200 到 500msOCR 更慢所以识别步骤不能滥用只在界面状态不确定的关键节点插入。# 把找图变成带超时的等待动作 def find_image_with_timeout(template, timeout5000): start time.time() while time.time() - start timeout / 1000: pos find_image(template) # 单次搜索找不到返回 None if pos: return pos time.sleep(0.3) # 轮询间隔 return None参数说明timeout 以毫秒为单位传入内部换算成秒轮询间隔 0.3 秒是平衡响应速度和 CPU 占用的常见取值。页面加载超过 5 秒的场景把 timeout 调到 10000 再配合失败分支而不是改小间隔去抢时间。3. 在 Automation Operation 2.60 里跑通第一个自动化任务录制到回放这一章带你把第一个任务完整跑一遍。以打开记事本 → 输入文字 → CtrlS 保存为例这是最不容易受外部因素干扰的流程适合先验证工具本身链路是否正常再换到真实业务上。3.1 开始录制前的准备界面布局与全局参数打开工具后你会看到四块区域左侧是步骤列表录制的动作按顺序堆在这里中间是属性面板选中某一步后在右侧改参数上方是运行控制区提供录制、停止、单步、回放按钮还有一个脚本预览视图把步骤翻译成可读文本。第一次用的人容易把步骤列表当成最终产物其实真正的工作在属性面板里逐个步骤调参数。录制前先处理三件事。第一件把 Windows 显示缩放处理掉右键工具程序打开属性里的兼容性设置勾选替代高 DPI 缩放行为缩放执行选系统。不然录制时取的坐标和回放时实际渲染的坐标之间会隔着一层缩放偏差。第二件把系统输入法固定成英文模式或者记下录制时的输入法状态。第三件在全局设置里确认三个参数默认超时建议 5000ms失败重试次数建议 1 到 2 次日志级别选详细。工程组织上我一般一个业务动作建一个工程不要把所有场景塞进一个巨大脚本。工程命名按对象_动作来比如订单页导出_每月跑批脚本多了也好找。变量要分清全局和局部局部变量用于单条步骤的参数全局变量存用户名、路径这些跨步骤复用的值。3.2 最小可复现任务录制打开记事本 → 输入文字 → 保存操作步骤固定在七个动作上。新建工程后点录制按钮工具开始记录你接下来所有鼠标和键盘操作。你手动执行一次目标流程按 Win 键打开开始菜单输入 notepad回车等记事本窗口出现在编辑区输入一段测试文字按 CtrlS 弹出另存为对话框选好路径点保存。做完后停止录制。不需要每个动作都录得完美。比如打开记事本你手动点开始菜单再找应用图标中间会有大量鼠标移动和点击这些在回放时没什么用。录制完成后打开步骤列表把找图标相关的移动步骤删掉只保留 Win 键按下、输入 notepad、回车三条。删减原则是保留会产生状态变化的事件删掉为了到达那个位置而发生的轨迹。步骤录制时的动作回放时的处理1Win 键唤出开始菜单保留窗口状态从这里起步2输入 notepad保留3回车保留4点击记事本编辑区保留改为窗口相对坐标5输入测试文字保留6CtrlS保留7在另存为对话框选路径建议删除改为等待窗口 直接输入路径脚本视图里录制结果大致长这样# 录制产生的步骤序列脚本视图示意 steps [ {type: keyboard, action: win_key, keys: [win]}, {type: keyboard, action: input, text: notepad}, {type: keyboard, action: key, key: enter}, {type: mouse, action: click, pos: (300, 200), coordinate: window_relative, window: 无标题 - 记事本}, {type: keyboard, action: input, text: hello automation operation}, {type: hotkey, action: send, keys: [ctrl, s]}, ]逻辑说明前三条启动记事本第四条点击编辑区获取焦点后两条输入和保存。注意点击编辑区那条用的是 window_relative 坐标窗口相对坐标让脚本在记事本窗口位置变化时仍然有效。参数说明input 动作的 text 字段支持转义字符换行用 \nhotkey 的 keys 是数组顺序按修饰键在前。保存对话框弹出后通常需要等待如果回放时对话框还没出现脚本就继续了可以在 CtrlS 之后手动插入一个等待窗口出现步骤目标是另存为对话框超时设 5000ms。这比死等 2 秒可靠因为等待条件是界面就绪而不是时间够长。保存对话框出现后用按键输入完整路径再点保存会比录制时手动选目录更抗环境变化。把路径存在全局变量里后续每次换路径只改一处。3.3 第一次回放就翻车的三个原因回放按钮按下去脚本开始自己跑。新手第一次回放常见的翻车现场有三个。第一个是工具窗口挡住目标。录制时记事本和工具窗口都开着回放时工具窗口在最前面鼠标点到的其实是工具面板。解决方法是回放前把工具窗口最小化或者勾选运行时隐藏主界面选项。如果工具提供了回放前自动隐藏设置一定要打开这是这条坑的根治办法。第二个是录制时的手动停顿被录进去。人操作时思考时间不均匀点完一个按钮会想一下再点下一个录制功能会把超过一定时长的停顿转成等待步骤。回放时如果某次界面加载比录制时慢这些等待步骤的时间可能不够用也可能让脚本拖沓。我一般会浏览步骤列表把所有纯等待步骤删掉替换成 3.2 里那种等窗口出现的步骤。第三个是输入法状态不一致。录制时开着中文输入法字母直接进记事本回放时工具往系统发送键盘事件中文输入法会把字母拦截进组字窗口。表现为字符没进记事本回放完编辑区是空的或出现一段拼音。解决方法是把系统默认输入法切到英文或者在输入动作前加一个输入法切换步骤。这个坑在录中文内容时尤其毒因为很多工具录制时存的是键盘事件而不是文本内容回放环境一变就丢字。4. 把识别用起来图像匹配与 OCR 的落地配置固定坐标脚本的寿命以下次界面改版为界识别驱动脚本的寿命以UI 视觉特征不消失为界。Automation Operation 2.60 的识别能力要配置得当脚本才敢挂机跑。4.1 图像匹配的四个必调参数相似度、查找区域、超时与失败动作图像匹配在工具里通常以找图步骤存在一张截图、一个查找范围、一个相似度阈值跑完返回坐标。要让这个步骤在生产环境里扛得住四个参数必须逐个调过。相似度阈值是最关键的一个。初始值我一般设 0.85然后观察一次成功匹配时工具输出的实际相似度。如果实际值保持在 0.9 以上就把阈值往 0.88、0.90 提提高精度减少误匹配如果实际值在 0.8 附近飘说明模板特征不够独特先换模板而不是降阈值。阈值降到 0.75 以下要警惕误匹配率会明显上升两个长得像的按钮可能互相认错。查找区域的收益常被人忽略。全屏搜索的耗时是区域搜索的几倍到几十倍而且全屏意味着全屏范围内相似的图标都可能成为干扰。凡是目标出现在固定窗口内的情况把查找区域限定到那个窗口的工作区目标按钮在窗口里位置相对固定的话更进一步框一个按钮附近的矩形。区域越小速度和可靠性同时提升。超时和失败动作是配套的。超时定义找图步骤最多等多久失败动作定义等不到之后干什么。常见做法是超时设 5000ms失败动作选重试并限定 2 到 3 次重试之间间隔 500ms连续三次找不到就跳转到截图并退出分支。这样脚本不会因为一次界面卡顿就立即失败也不会在界面真正出错时无限重试。参数建议初始值调大调小使用场景相似度0.85更严格、更易漏检更宽松、更易误检静态界面 0.90动态背景 0.80查找区域窗口工作区更慢更快更准按钮固定出现时尽量缩小超时5000ms更耐等更快失败页面加载时间不定时调大失败动作重试 2 次更容错更快暴露问题长时间挂机时重试次数调大4.2 OCR 识别的三个落地要点中文、数字、灰度预处理OCR 步骤通常独立于找图存在。工具对屏幕指定区域做文字识别返回字符串。参数没找图那么复杂但落地上有三件事要处理。中文识别先要注意字体和字号。工具内置模型对印刷体中文识别率尚可但小于 12px 加抗锯齿渲染的字容易识别错。我识别版本号时踩过坑1.8.3 被读成 1.8.8就是字号太小加背景反色。应对办法是识别前先做放大和灰度预处理把目标区域的文字放大到能看清再送去识别。数字和仪表识别优先限制识别区域仪表识别的场景里把区域精确框到表盘读数位置能避免把品牌字样和刻度线也读进去。第二个要点是灰度与对比度。彩色界面背景复杂时直接识别经常混入噪点。先转灰度、再做对比度增强识别率提升通常比换模型更明显。像素差异大的目标区域用二值化把文字变成纯黑纯白再识别。网页里带干扰线的验证码文字也属于复杂背景这一档预处理不到位时识别成功率并不高别指望一个裸 OCR 步骤能扛住。第三个要点是结果后处理。OCR 返回的字符串常有前后空白、全角半角混用的问题。常见做法是拿到结果先去除首尾空白再用正则只提取需要的部分。数字场景只保留数字、小数点和负号路径场景保留字母、数字、斜杠和点。识别结果为空时不要直接判定失败再补一次重识别或截图存档让日志留证。# OCR 结果的后处理只留数字和负号空结果主动失败 raw_text ocr_recognize(region(100, 200, 60, 20)) # 识别指定区域 value re.sub(r[^0-9.\-], , raw_text).strip() # 过滤非数字字符 if value : save_screenshot(ocr_empty.png) # 存档现场供排查 raise OcrEmptyError(识别为空截图已保存 ocr_empty.png)逻辑说明先识别指定区域再正则清洗最后对空结果做带截图的失败处理。region 参数是 (左上角 x, y, 宽, 高)单位像素。参数说明区域大小不是越大越好框到目标文字的外接矩形最好如果目标区域位置会变先用 4.1 的找图锁定文字附近的一个锚点再把 region 用锚点坐标加偏移算出来而不是写死坐标。这样窗口移动后 OCR 区域依然跟着目标走。4.3 识别 鼠标键盘联动做一个等按钮出现再点击的可靠循环把前面两组能力合起来最典型的生产用法是等按钮出现再点击。比起固定等待这个模式把界面是否就绪的判断完全交给识别脚本只在按钮真正可点时才会点下去天然免疫网络延迟和页面加载速度波动。写这个循环要明确两个细节一是每次搜索之间加轮询间隔避免对屏幕做密集连续扫描把 CPU 占用拉高二是点击位置用图像中心 偏移。找到的坐标是图片左上角按钮的实际点击位置应当在图片中心有时还要往右下方偏移几像素避开按钮边缘的圆角区域。def wait_and_click(template, timeout10, offset(0, 0)): 等待模板图像出现然后点击其中心偏移位置。 start time.time() while time.time() - start timeout: pos find_image(template, threshold0.85) # 返回左上角坐标 if pos: center_x pos[0] (TEMPLATE_W // 2) offset[0] center_y pos[1] (TEMPLATE_H // 2) offset[1] smart_click(center_x, center_y) # 复用 2.1 的带缓冲点击 return True time.sleep(0.3) # 轮询间隔降 CPU 占用 save_screenshot(wait_click_timeout.png) return False逻辑说明find_image 返回模板左上角坐标TEMPLATE_W 和 TEMPLATE_H 是模板图像的宽高中心点坐标由左上角加一半尺寸算出再加上 offset 做微调。超时没找到时存档截图并返回 False由上层决定重试还是退出。参数说明timeout 单位是秒10 秒适合大部分页面加载场景offset 一般设 (0, 0)只在按钮可点区域不在中心时使用比如文字在左、点在右侧箭头的情况。这种找图 偏移 带缓冲点击的组合比直接录坐标点按下去的可靠性高一个量级我几乎所有会重复用到的脚本都是这个骨架。5. Automation Operation 2.60 高频故障避坑实录现象、原因与解决挂机跑自动化拼的不是脚本写得多漂亮是故障出现后能不能在几分钟内定位。下面是五个高频问题都按现象 → 原因 → 解决写。定位故障时先看日志里最后一条步骤类型再对照这张表选排查方向故障特征优先怀疑先查什么脚本卡住不动等待类步骤死等超时设置、模态对话框点击位置偏移坐标模式与缩放相对坐标、DPI 设置鼠标无响应但键盘正常权限隔离工具与目标程序权限找图变慢或匹配错模板失效阈值、区域、模板截图循环停不下来退出条件不成立迭代上限、最大超时5.1 脚本跑几分钟后忽然卡住不再响应现象前几步正常跑到某个鼠标点击步骤后光标停在原地工具界面假死任务管理器里显示脚本进程 CPU 占用异常。原因最常见的是点击的目标窗口弹出了模态对话框把界面线程阻塞了后续等待窗口的步骤一直拿不到目标窗口句柄形成死等。其次是步骤里有个找图操作在全屏范围反复重试相似度阈值设太高一直匹配不上把 CPU 拖满。解决给所有等待类步骤加上超时上限超时后强制跳转到日志和退出分支把全屏找图改成区域找图模态对话框这类情况加一个检测到对话框就关闭它的前置步骤。治本的口诀是任何一步都不能无限等。5.2 换电脑或改分辨率后所有坐标全部偏移现象在 A 机器上跑得好好的脚本拷到 B 机器上全部点偏点击落点规律性地向右下偏移一段距离。原因录制时的坐标基于原始分辨率和缩放比例。B 机器分辨率不同绝对坐标直接错位缩放比例不同窗口相对坐标也会被系统缩放换算插一脚坐标采集和事件注入走的两套坐标系不一致。解决第一步统一开发机和运行机的显示缩放两端都设成 100%或者都选相同的替代高 DPI 缩放行为第二步把能换成窗口相对坐标的步骤全部换掉只在没有可靠窗口句柄的场景保留绝对坐标第三步对关键按钮改用找图识别驱动的脚本天然免疫分辨率差异。换机器后先跑一遍自检步骤把日志里的实际坐标和模板截图一起检查再放量挂机。5.3 以管理员权限启动时鼠标模拟失效现象脚本本身在普通权限下能跑一旦右击工具图标以管理员身份运行鼠标点击步骤全部无响应但键盘输入正常。原因以管理员权限运行的工具属于高完整性进程而目标程序是普通权限进程。Windows 的用户界面特权隔离会拦截高权限进程向低权限窗口注入的模拟输入于是鼠标事件发不进去键盘事件因为发送链路不同而幸免。解决让工具和目标程序以相同权限运行通常做法是目标程序也以管理员身份启动或者两边都用普通权限。不要反过来让普通权限工具去操作管理员窗口那会直接静默失败。验证方法很简单切换权限后手动执行一次鼠标点击步骤看日志里注入了几个事件。5.4 图像识别忽然变慢甚至误匹配现象同一个找图步骤之前 300ms 内出结果某天突然要 2 秒以上还把结果匹配到了错误位置。原因界面改版导致模板图像特征失效或者目标按钮背景从纯色变成了渐变或动态图全屏搜索时干扰项变多。另一个隐蔽原因是色彩模式差异工具截图时用的抓屏 API 和模板截图时的颜色空间不一致导致相似度整体下降。解决重新截图生成模板截图时机选在界面静态且无阴影变化的时刻把查找区域缩小到目标附近如果怀疑颜色空间问题把模板和运行时截图都转成灰度再匹配。识别慢还有一个排查方向是同时跑着多个脚本OCR 引擎是共享的并发识别会互相排队看日志确认没有第二份脚本在跑。5.5 循环条件没写对脚本开始自己乱跑现象脚本进入某个循环分支后停不下来鼠标在屏幕上到处点随着每次执行还不断截图存日志把屏幕和磁盘都搞得一团糟。原因循环退出条件依赖一个识别结果而识别结果因为阈值或区域设置不当被当作始终未找到脚本只能一直重试或者退出条件的判断写得过宽比如用窗口存在当退出条件结果窗口一直存在循环永远转。解决循环必须有双重兜底一个正常退出条件一个最大迭代次数或总超时上限超过上限强制退出。迭代计数器是循环的后悔药宁可多跑一步检查也不要让它无限转。挂机前先用单步模式把循环路径跑一遍确认正常分支和异常分支都会走到退出动作。6. 从能跑到敢挂机让脚本自己兜底的三个进阶习惯脚本能完整跑一遍只是起点敢把它挂在那里过夜是另一回事。三个习惯帮我跨过了那道坎。第一个习惯是用条件等待替代固定延时。我早期写脚本全是步骤之间 sleep 1 秒看起来步骤紧凑实际上一遇到页面加载波动就崩。后来统一改成等条件出现再继续等窗口句柄、等按钮图像、等状态栏文字等不到就重试重试超时就退出。改动之后挂机过夜的成功率明显上升因为脚本的节奏是被界面状态牵着走的不是被死时间牵着走的。第二个习惯是给每一条可能失败的分支写就地补救的动作。点击失败先别急着退出看一眼原因窗口没了就重新启动目标程序再回到当前步骤按钮没出来就再等一下权限弹窗出现就直接点允许。这个思路把脚本失败后等我处理变成脚本自己先处理处理不了再叫我。我在脚本里留了一个统一的失败出口截图存档、写日志、播放提示音这样睡醒一看日志就知道停在哪一步、因为什么停。第三个习惯是记录足够多的运行痕迹。每一步的核心参数、每次识别的相似度、每次重试的原因全部写进日志文件。日志带时间戳配合关键时刻的截图故障定位时间能从小时级缩到分钟级。这一步成本很低收益巨大。我个人的教训是不要信录制完就能用的宣传凡是没经过三重测试——单步跑、全流程跑、连续挂机跑——的脚本都不算完成。现在每写完一个脚本我都会先拿它处理一遍真实的重复任务确认三遍通过才交出去。这个习惯帮我挡掉了至少十次会在现场翻车的发布希望帮到你。本文还有配套的精品资源点击获取
返回列表