简介RPAworker是一款面向零编程基础用户的简易自动化工具专注解决办公、财务、测试等场景中的重复性电脑操作。使用者无需编写代码仅需截图定位界面元素在Excel中按顺序配置近40个操作指令即可自动执行点击、录入、批量处理等流程若懂一些数据库操作还可自行搭建网页爬虫采集数据。与常见RPA平台相比该工具将配置门槛降到Excel和截图层面更适合个人或小型团队快速落地自动化。压缩包整体约76.71MB当前已有251人学习浏览适合行政、数据录入、运维等需要自动化辅助的岗位。资源包含工具本体与Windows运行环境适配说明针对Win7/Win2008等系统分别给出插件安装及VC运行库64/32位的排错建议帮助读者快速部署并按需配置自定义流程减少重复劳动。1. 不写代码也能做 RPAExcel 指令表加图片定位的自动化思路如果你每天的工作里有那么几件事是固定打开某个网页、填几个框、点几下按钮、再把结果抄进表格那这款 RPAworker 简易自动化工具就是冲着这个场景来的。它的核心逻辑很简单用 Excel 写一串操作指令再用图片定位确定「点哪里」让工具从上到下依次执行。全程不需要写一行代码截图你会用Excel 基本操作你会就能配置出一条自动化流程。它的适用人群非常明确业务人员、测试人员、运维岗以及那些想把重复操作丢给机器去跑的普通用户。这套思路在不少 RPA 产品里都能看到影子只不过这个工具把门槛压到了最低。下面我按实际使用的顺序把设计原理、配置方法、回写数据和踩坑记录完整过一遍。2. 把 Excel 指令当程序跑RPAworker 的设计原理与执行模型2.1 指令表为什么能取代代码用过 UiPath、按键精灵这类工具的人对「拖拽组件搭流程」应该不陌生。RPAworker 换了一种更极端的交互方式没有图形化流程画布所有操作都以文本形式写在 Excel 的行里一行是一条指令。程序启动后从指定的工作表第一行开始读逐行往下执行执行完最后一行就结束。这种设计的好处很明显Excel 本身就是最普及的表格工具任何用过办公软件的人都能上手同时指令行的顺序就是执行顺序调试的时候直接看表格就能理解整个流程的走向。如果换个思路把每行指令当成一条程序语句那 Excel 文件就是源码RPAworker 就是解释器。近 40 个指令大致可以分成五类我按使用频率整理一下指令类别典型功能对应场景鼠标操作左键单击、双击、右键、移动到坐标点击按钮、选择菜单项、打开链接键盘操作输入文本、按回车、按快捷键、组合键填写表单、提交搜索、触发快捷键窗口控制激活窗口、等待窗口出现、关闭窗口在多个程序间切换、确保前置窗口存在图片定位查找指定图片、等待图片出现、点击图片位置点击图标按钮、判断页面状态Excel 读写读取单元格、写入单元格、读取一行数据动态取数、结果回写、批量数据处理指令设计的核心思路和按键精灵是同一派以屏幕作为坐标系以图片作为识别锚点。因为底层不依赖浏览器 DOM 结构或程序内部接口所以这套工具能作用于任何有界面的软件。2.2 图片定位为什么不用文字识别也行对于不懂编程的用户来说图片定位比 OCR 或 UI 树定位更直观。你在屏幕上截一个小图把要点击的按钮、图标或区域框住工具就在整个屏幕范围内搜索这张小图找到之后取图片中心点作为点击坐标。这里的关键点是「中心点」。截图的时候要预估点击位置比如你要点的按钮本身只有 20x20 像素那截出来就是 20x20 的小图工具会以图片中心作为鼠标落点。但有些按钮形状不规则比如一个斜着的箭头图标中心点可能落在箭头图案的空白处导致点不中。所以截图时我会建议如果目标是按钮就把按钮完整包住如果目标是输入框可以把左侧文字比如「用户名」带一小截进去确保小图特征足够明显中心点落在相对稳定的区域。此外图片定位依赖「特征唯一」。如果你截的小图在屏幕上出现多次比如列表里每一行都有相同的复选框工具默认会匹配到第一个还是随机一个在指令表里通常会有偏移参数或序号参数来控制。这一点在配置批量流程前一定要先在目标屏幕上实际点一下验证。2.3 执行顺序与等待机制是一条流程的骨架指令表从上到下执行这个顺序就是流程的骨架。但真正的工程问题在于「时序」。网页加载、程序启动、数据刷新都需要时间如果上一条指令刚执行完下一条指令立刻去找图片大概率会扑空。RPAworker 的处理方式是设置等待条件。常见的做法有两种一种是前置固定延迟指令比如「等待 2000 毫秒」在关键操作前强制卡一下另一种是用「等待图片出现」指令工具会循环查找指定小图直到找到或超时。我一般习惯在点击链接或打开新页面之后优先用「等待图片出现」因为页面加载速度受网络影响很大固定延迟设短了找不到、设长了浪费时间图片出现条件更贴合实际。只有在无法用图片判断状态比如等待某个动画播完时才用固定延迟兜底。提示指令里的延迟单位是毫秒1000 毫秒等于 1 秒。配置时先用一个偏大的值跑通再逐步调小不要一上来就追求极限速度。3. 写第一条自动化配置Excel 指令表的结构与图片素材准备3.1 每个工作表放什么配置表的基本结构第一次拿到这个压缩包解压后你会看到主程序文件、示例 Excel、说明文档和几个示例图片大概几十兆的样子。打开示例 Excel就能看到指令表的真实结构。我建议这样组织工作表第一个工作表放主流程每一行是一条指令第二个工作表放变量或参数比如登录用的账号、密码、待处理的 URL如果流程分支比较多可以再建第三个工作表放下一步要跳到第几行。尽量避免把所有指令塞在一张表里行数一多就很难找到具体某条。以「打开网页并登录」这个最基础流程为例指令表一般长这样行号指令名称参数1参数2参数3说明1启动程序浏览器路径网页URL用指定浏览器打开网页2等待图片login.png5等待登录按钮出现超时5秒3左键单击login.png点击登录按钮4输入文本0admin在最后激活的输入框输入admin5输入文本0password123输入密码6按键enter按回车提交7等待图片home.png10等待首页元素出现这个表格里的第 4 行、第 5 行有一个常见问题程序怎么知道文本要输入到哪个输入框很多免编程工具都是「输入到当前焦点所在的输入框」所以要保证在执行输入前鼠标已经点进了目标输入框。这就涉及指令之间的配合输入文本之前要先有一条点击定位输入框的指令或者在截图时把光标先放进输入框再截取识别目标。3.2 截图和命名图片素材的三个要求图片素材是这套自动化的识别基础截图质量直接影响成功率。我整理了几条在实际操作中被验证过的要求。小图要小但要能截出特征。一个按钮、一个图标、一个输入框的左侧文字这类小图最合适。不要截整个窗口也不要截大面积背景色。识别算法做的是小图在大图上找匹配小图越小匹配范围越集中误识别率越低。但太小也不行比如只有 5x5 像素的纯色块特征太弱几乎无法稳定匹配。图片要存 PNG 格式命名用英文字母或数字。中文命名能不能用取决于工具的版本但为了少踩坑建议统一用拼音或英文比如 login.png、next_step.png、confirm.png。路径上不要带空格和特殊符号压缩包解压路径里如果有中文或空格某些旧版本 SDK 会出诡异问题。另外图片要来自当前运行环境。这一点需要特别强调你在 Win10 上截的图拿到 Win7 的机器上跑由于系统主题、字体渲染、DPI 缩放不同屏幕显示效果会有细微差别可能就导致匹配失败。所以换机器运行之前最好重新截一遍图而不是直接拷贝老图片。3.3 完整跑一个「打开记事本输入文字并保存」的流程我们抛开浏览器用一个最简单的系统自带程序来验证工具能不能跑通。这个流程不需要网络不受网页改版影响是最适合入门验证的。第一步准备两张小图一张是记事本窗口的标题栏区域用于激活窗口一张是「文件」菜单按钮用于点击保存。第二步新建 Excel 配置按下面的指令表填写1. 启动程序 notepad.exe 2. 等待图片 notepad_title.png 5 3. 左键单击 notepad_title.png 4. 输入文本 0 hello rpa worker 5. 按键 ctrls 6. 等待图片 save_button.png 3 7. 左键单击 save_button.png 8. 输入文本 0 test_output.txt 9. 左键单击 save_confirm.png执行过程是这样的第 1 行打开记事本第 2 行等待标题栏出现第 3 行点击标题栏以确保窗口处于前台。第 4 行输入内容第 5 行按 CtrlS 调出保存对话框这一步是系统的「另存为」窗口。第 6 行等保存按钮出现第 7 行点开文件名输入框第 8 行输入文件名第 9 行点击确认保存。如果在第 4 步输入内容前没有做第 3 步的窗口激活可能会出现输入内容丢失或输入到别的窗口的现象。另外第 8 行输入文件名时如果保存对话框中默认已经有文件名且处于选中状态直接输入新内容会覆盖旧内容这符合预期但如果不是选中状态新文本会追加在旧内容后面需要先加一条「全选」或「清空」指令来保证结果。这一点在实际流程里影响很大通常我会在第 8 行之前加一条按键 ctrla 再输入。4. 实战用 Excel 数据驱动一个网页表单的批量填写4.1 变量与数据区让流程具备循环能力固定写死内容的流程只适合极少数的场景。更多时候我们需要从 Excel 读取一行数据填到网页里提交再读下一行。这就是数据驱动。RPAworker 的指令表里通常会有一组读写 Excel 的指令可以把指定单元格的内容读到变量里再通过变量拼接的方式填到文本输入指令中。变量名一般用英文加下划线比如 row_data、current_value。在指令参数里引用变量时不同工具的写法不太一样常见的是用百分号包一下比如 %current_value%或者用 $current_value$ 这种形式。具体以说明文档为准。循环的做法一般有两种一是「跳转指令」配合行号实现循环比如执行完提交后把计数器加 1跳回读取行继续执行二是工具里直接内置「循环次数」参数。前者更灵活适合复杂的业务流程后者配置更快适合简单重复操作。4.2 从 Excel 逐行读取、填表、提交的完整配置假设我们要批量提交一批商品信息到后台系统Excel 的数据表是这种结构商品名称价格库存测试商品A19.9100测试商品B29.950测试商品C39.90配置的思路是维护一个行号变量从第 2 行开始读每一列的值分别读到三个变量里再切到网页窗口逐项填入表单点击提交最后把行号加 1回到跳转指令形成循环。指令表可以按这个逻辑组织1. 读取Excel 数据表 2 1→product_name 2. 读取Excel 数据表 2 2→product_price 3. 读取Excel 数据表 2 3→product_stock 4. 激活窗口 后台管理系统 5. 输入文本 0 %product_name% 6. 按键 tab 7. 输入文本 0 %product_price% 8. 按键 tab 9. 输入文本 0 %product_stock% 10. 点击图片 submit_button.png 11. 等待图片 success.png 5 12. 跳转 13 13. 读取Excel 数据表 当前行号1 1→product_name这里的一个核心技巧是第 6、8 行的 Tab 键。网页表单的输入框通常支持 Tab 按顺序切换焦点用它代替鼠标逐个点击能减少截图数量也避免图片匹配失败引起的流程中断。如果目标页面的 Tab 顺序和表单字段顺序不一致那就老老实实给每个输入框截图定位。另外Excel 指令的行号计算是常见翻车点。如果你用跳转指令回环行号是固定写在指令里的那循环就从固定行开始如果要每次加一行通常需要额外的变量运算指令或者工具内置了「行号累加」的写法规格。我的经验是先把一次循环跑通再改循环参数不要直接配完整循环。4.3 一个辅助 Python 脚本检查 Excel 配置的常见错误我一般会在跑较长的流程前先用一段小脚本检查指令表的格式问题避免排错排到崩溃。这段脚本不依赖 RPAworker只是读取 Excel 内容做静态校验。from openpyxl import load_workbook def check_instruction_table(file_path, sheet_name): wb load_workbook(file_path) ws wb[sheet_name] errors [] known_actions {启动程序, 等待图片, 左键单击, 输入文本, 按键, 跳转, 读取Excel} for row in ws.iter_rows(min_row1, values_onlyFalse): row_num row[0].row action row[0].value if action is None: continue if str(action).strip() not in known_actions: errors.append(f行 {row_num}: 未知指令 [{action}]) if str(action).strip() in {等待图片, 左键单击, 输入文本, 按键, 启动程序}: param row[1].value if param is None or str(param).strip() : errors.append(f行 {row_num}: 指令 [{action}] 缺少参数1) if errors: print(发现潜在配置问题) for e in errors: print( -, e) else: print(检查通过未发现格式问题。) if __name__ __main__: check_instruction_table(config.xlsx, 主流程)脚本的逻辑思路是先把所有指令名称放到集合里遍历每一行判断第一个单元格是否为合法指令再检查关键指令是否填了参数。它不能发现逻辑错误比如跳转行号指向不存在的地方、图片文件不存在等但能拦截掉最基础的配置笔误。对于没有 Python 环境的用户也可以跳过这段辅助检查直接在程序里用「单步执行」功能逐行看。5. 避坑手册运行环境、图片匹配与流程稳定性的典型翻车现场5.1 Win7 闪退与插件缺失现象程序在 Win10 上运行正常复制到 Win7 机器上一启动就闪退没有任何提示。原因工具的运行库依赖 Visual C Redistributable某些 Win7 精简版系统缺少这个运行库程序启动时直接崩溃。这和很多 C 编写的桌面工具表现一致不是程序本身的问题。解决到微软官网下载 vc_redist.x86.exe 或 vc_redist.x64.exe根据目标机器的系统位数安装后重启。判断位数的方法是右键「此电脑」→「属性」看系统类型显示的是 64 位还是 32 位。另外 Win7 系统如果没打补丁某些网络组件也可能出问题建议把系统更新到 SP1 及以上。5.2 屏幕分辨率与 DPI 缩放导致图片找不到现象在同一台机器上用 100% 缩放截图并配置好流程后偶然把显示缩放调成了 125%流程立刻找不到所有图片。原因图片匹配是在当前屏幕像素上做的Windows 的 DPI 缩放会改变所有窗口和元素的像素尺寸。你截的图是按缩放前的尺寸存的屏幕上实际显示的元素变大了匹配自然失败。高分辨率屏幕和远程桌面连接之间也常出现类似问题。解决项目运行期间固定显示缩放比例不要中途调整。如果要在多台分辨率不同的机器上跑建议在各台机器上分别截图。远程桌面场景下截图要在远程会话里完成本地截的图不能用。5.3 图片匹配到错误位置现象点击图片后鼠标落在了错误的位置或者弹出的菜单不对。原因截的小图特征不够唯一在屏幕上匹配到了多个相似区域而工具默认选取了匹配度最高的那个。比如两个按钮背景色和文字相同只是文字不同截出来的小图在没有包含文字时几乎一样。解决截图时尽量包含部分文字特征。比如要点击「确定」按钮小图应该包含「确定」这两个字而不是只截灰色按钮边框内的空白区域。也可以适当放大截图范围把按钮周围的独有背景元素带进去让特征更独特。另外配置偏移参数比如点击点右移 10 像素可以微调落点。5.4 Excel 进程残留导致数据读写异常现象流程跑了几轮后读取 Excel 数据的指令越来越慢偶尔还会读到旧数据。原因工具每次读写 Excel 时创建了进程但流程异常中断后没有正常释放导致多个 Excel 进程堆积在后台。后续读写操作连接到错误的进程或者发生资源竞争。解决任务管理器里手动结束所有 Excel 进程或者重启机器后重新跑。预防措施是在流程结束或异常跳转前加一条「关闭 Excel」指令释放进程占用确保下次执行是全新进程。5.5 延迟设太短页面没加载完就操作现象网页流程偶发失败有时同样的配置能跑通有时跑到一半就停住重新跑一遍又好了。原因页面加载受网络波动影响明显固定延迟指令设置过短。某次网络正常2 秒就加载完了网络慢时5 秒还没渲染完此时去找图片自然失败。解决把前后关联操作改成「等待图片出现」指令只等关键页面元素出现后再继续。如果目标页面状态无法用图片判断就把固定延迟值调大一倍再跑三轮观察稳定后再逐步调回合理值。我的习惯是延迟宁多勿少毕竟跑失败一次重新找断点比多等几秒钟成本高得多。注意图片匹配有最小尺寸限制。一张只有几个像素的小图在模糊的缩略图视频区域里容易出现多次匹配定位不稳定。建议截图的最小边长不低于 20 像素。6. 验证流程可靠性的方法从单次跑通到批准交付配置完一条流程后不建议只是高兴地看到它能跑一遍就收工。很多时候第一次跑通是侥幸比如某个弹窗恰好没出现某个按钮恰好响应快。我的习惯是定义一个「验证三连」第一轮用单步模式跑确保每一步的落点和输入都正确第二轮用正常速度连续跑三遍观察是否有偶发失败第三轮故意制造干扰比如中途弹出一个消息窗口、切换一次输入法状态看流程是否会因为意外被打断。输入法状态是一个特别容易忽视的坑。如果系统中英文输入法切换状态不稳定文本输入指令可能把字母输入成拼音或全角字符。我一般会在流程启动时先强制切到英文输入法方法是用按键指令模拟一次 Shift 键切换或者在指令表最开始加一条切换输入法的动作。虽然工具本身并非无懈可击但通过这种强制前置条件能规避大部分编码输入问题。如果条件允许建议准备一个录屏软件在验证阶段开着。失败时逐帧回放能定位到具体是哪一步先出错。图片匹配失败时也有一个经验技巧把运行界面的截图导出来用截图工具把目标区域像素尺寸和小图尺寸做对比如果屏幕上目标区域看起来明显比小图大说明存在缩放差异需要重新截图。进阶方向上如果你熟悉一点数据库语法可以尝试把数据不放在 Excel 里而是放到本地数据库表中用工具提供的数据库读取指令取数。这样数据量大到几万行时读写性能和稳定性会比 Excel 好很多。甚至可以做一个小型网页爬虫从列表页批量打开详情页用图片定位截取关键字段再写入数据库。这个用法超出了工具本身的基础范围但思路是通的——先定位图片再取屏幕上的文字最后按列存库。有一次我用这套思路做了一个定时巡检的小流程让工具每两小时自动打开后台系统检查任务状态并截图存档。跑了半个月后某天发现有张截图里的按钮显示异常事后分析是目标页面改版导致图片定位失败。从那以后我每次配置完流程都会多做一件事把用到的所有小图统一整理进一个文件夹标注好对应页面版本和截图日期。页面改版时先检查这个文件夹里哪些图片过期而不是对着几十个截图逐一排查。希望这个习惯能帮到你。本文还有配套的精品资源点击获取