在日常办公过程中,存在大量重复、规则明确但需要人工操作的软件任务,例如批量处理文件、录入和读取 Excel 数据、登录系统、生成报表以及根据屏幕内容执行后续操作。传统的固定脚本对界面位置和响应时间依赖较强,一旦窗口位置或加载速度发生变化就容易执行失败。因此开发 AutoWork 自动化办公脚本系统,通过 OCR 文字识别、图像匹配和鼠标键盘模拟操作,使自动化程序能够根据屏幕实际内容动态定位和执行任务,并使用 Excel 表格描述自动化流程,降低脚本编写和维护成本。
点击空白处退出提示
在日常办公过程中,存在大量重复、规则明确但需要人工操作的软件任务,例如批量处理文件、录入和读取 Excel 数据、登录系统、生成报表以及根据屏幕内容执行后续操作。传统的固定脚本对界面位置和响应时间依赖较强,一旦窗口位置或加载速度发生变化就容易执行失败。因此开发 AutoWork 自动化办公脚本系统,通过 OCR 文字识别、图像匹配和鼠标键盘模拟操作,使自动化程序能够根据屏幕实际内容动态定位和执行任务,并使用 Excel 表格描述自动化流程,降低脚本编写和维护成本。
系统采用 Excel 表格作为自动化脚本载体,每行通过“时间、事件、细节、条件”描述一条执行指令。主要功能包括:基于 EasyOCR 的中英文屏幕文字识别与定位;基于 OpenCV 模板匹配的图片定位;鼠标点击、双击、移动以及键盘输入和组合键操作;Excel 数据读取与写入、txt 写入及文件复制、移动、删除;整数、小数、字符串变量及数组管理;支持嵌套循环、continue、break 和条件分支;支持等待指定文字或图片出现、图像相似度判断及超时处理。同时提供桌面 GUI,可选择脚本并查看实时执行日志,支持运行过程暂停和退出。
项目使用 Python 独立设计并实现,并按照功能拆分为设备控制、流程控制、数据读写、变量管理、文件管理、图像处理、事件分发和时间控制等模块。使用 Pandas 解析 Excel 自定义指令集,通过事件分发器将不同指令路由到对应 Controller;使用 EasyOCR 完成中英文文字检测,OpenCV 模板匹配实现界面图片定位,并结合 PyAutoGUI/Pynput 完成鼠标和键盘自动操作。循环采用运行状态管理实现嵌套执行,条件模块支持文字、图片、变量、数组和文件状态判断;等待模块支持轮询、超时以及基于 SSIM 的图像相似度判断。GUI 使用 Tkinter 实现,并通过线程运行自动化任务,避免执行过程阻塞主界面。



评论