2021-11-24 00:35 一位同事给我在微信中转了,B站UP主 不高兴就喝水 的 办公自动化视频
视频中的小程序实现了根据提供的图片,鼠标自动对其进行定位并实现双击、点击和滚轮的操作。
看了这个视频后我倍受鼓舞,就想为什么不再增加一些按键功能让这个程序变得更可用呢,于是我着手了开发。
经过一段时间的开发,此程序可以胜任一些简单的自动化操作了。
本程序是一个自动化程序,与前辈“按键精灵”相比,用 excel 的 xls 文件来编写自动化程序在某些情况下效率会更高一些。
对新手学习成本也会比较低一些,且绝对纯洁无广告。
源码在安装配置好环境,并下载好依赖包之后,理论上可以跨平台运行在多种系统下。
我仅在win7/Win10上测试可以正常使用,其他操作系统没有测试过。
如何安装和配置python环境:https://www.runoob.com/python3/python3-install.html
pip install pyperclip
pip install xlrd
pip install pyautogui==0.9.50
pip install opencv-python
pip install pillow
如果在中国大陆下载特别慢的话可以在 install 后面,增加一个参数-i 国内镜像地址即可。
举例:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyperclip
注:不会安装和配置python环境也不用担心。已经打包了exe执行程序,可以在windows 7及其以上版本的操作系统中直接运行使用。只是它每次运行都需要拆包,会在 %temp% 文件夹中产生大量的以 MEI_xxx 命名的垃圾文件。并且exe的开启运行速度也比较慢。
(WIN7如果无法运行需要打上补丁,重启后才可以正常使用。)
"cmd.xls"
编写自动化流程的文件。
"大羽改良版.py"
主程序,编写完自动化流程后运行其来执行。
注意!这两个文件必须放在同一目录下,才能正常运行。否则会闪退!!
必须按照以下规范编写,否则可能会出现闪退现象。第一行不要删除,是标题行,自动化流程从第二行开始编写。
第一列
指令类型,填写对应功能数字 1 单击 2 双击 3 右键 【这三条命令后加.1,即1.1\2.1\3.1代表找不到图片就跳过>此步,如果不加则会不停扫描】 4 输入 5 等待 6 滚轮 7 热键组合 8 粘贴当前时间(B列必须填写:当前时间) 9 windows CMD命令模式
第二列
指令内容,填写第一列中对应功能的属性
1,2,3 必须填写图片带有路径的全称,且路径和全称中不能有中文。 【图片格式理论上均支持,实际只测试了png\jpg\bmp,其他格式未测试。】 【注意如果同屏有多个相同图标,会默认找到最左上的一个,因此怎么截图,截多大的区域,是个学问。宗旨就是“唯一”】
例如: 在同目录下的名为one.jpg的文件 one.jpg
在同目录下Image文件夹下的one.png文件 .\image\one.png
绝对路径下C盘test文件夹下的one.bmp文件 c:\test\one.bmp
4 可以填写任何东西。 【注意其实这里是复制粘贴,并不是真正的输入。如果想输入请用7号命令】
5 只能填写正数,可以是小数。
6 只能填写正整数和负整数。 【正整数为往上滚,负整数为往下滚】
7 填写热键组合,每个按键用英文逗号","分开。 当然单个的按键也可以。
例如: 启动任务管理器 ctrl,shift,esc,
输入12345 1,2,3,4,5,
按一下9这个键。 9,
热键组合的名请自行搜索pyautogui库的用法。 【注意:英文中的”,”无法被识别,原因是这个符号被用来分隔其他按键组合了。暂无没有更好的解决办法,如果需要输入英文的","请使用4号命令复制粘贴。】 8 填写任何内容均可,比如“当前时间”or“Now”
9 可以填写任何windows的 CMD\powershell和Linux终端命令,是否能执行就看你填写的是否正确。
第三列
重复次数 不填写则默认为执行1次,填写的话只能填写正整数,-1为无限循环。 目前重复次数仅支持 第一列为 1,2,3,7 的指令(分别为:鼠标单击,双击,右键,热键组合。) 其他指令暂不支持。
第四列
备注 可以不填。为了方便后期维护,你可以选择在这里为这条自动化流程添加注释。
更多示范请参考实例文件夹里的cmd.xls 示范可能会因为系统,软件,访问网站等诸多环境变量的不同而无法完全正常使用,仅作参考。
指令类型: 1 单击 2 双击 3 右键 【这三条命令后加.1,即1.1\2.1\3.1代表找不到图片就跳过此步,如果不加则会不停扫描】 4 输入 5 等待 6滚轮 7热键组合 8粘贴当前时间(B列必须填写:当前时间) 9 windows CMD命令模式 | 内容: 图片名称(不能为中文).png、输入内容(实为复制粘贴) 等待时长/秒、滚轮距离(如-200,即为往下滚) 当前时间、windows CMD命令 | 重复次数 (-1代表一直重复) | 备注 |
---|---|---|---|
1 | 01.png | 在屏幕上不断搜索执行程序同目录下 00.png 相同的内容直到找为止,然后对其进行鼠标“单击” | |
2 | c:\test\02.jpg | 在屏幕上不断搜索执行 c:\test\02.jpg 相同的内容直到找为止,然后对其进行鼠标“双击” | |
3.1 | .\image\03.bmp | 在屏幕上仅搜索一次执行程序同目录image文件夹下 03.bmp 相同的内容,然后对其进行鼠标“右键”。若无法找到相同的图片,则会跳过此步骤执行下一步。 |
指令类型: 1 单击 2 双击 3 右键 【这三条命令后加.1,即1.1\2.1\3.1代表找不到图片就跳过此步,如果不加则会不停扫描】 4 输入 5 等待 6滚轮 7热键组合 8粘贴当前时间(B列必须填写:当前时间) 9 windows CMD命令模式 | 内容: 图片名称(不能为中文).png、输入内容(实为复制粘贴) 等待时长/秒、滚轮距离(如-200,即为往下滚) 当前时间、windows CMD命令 | 重复次数 (-1代表一直重复) | 备注 |
---|---|---|---|
9 | start notepad | 打开记事本 | |
5 | 0.5 | 等待0.5秒 | |
4 | hello world!! | 复制这段文字,并粘贴。即:ctrl+c ctrl+v | |
7 | enter | 50 | 执行回车,循环50次 |
8 | Now | 粘贴当前时间 | |
6 | 200 | 鼠标滚轮“向上”滚动200距离 | |
5 | 0.5 | 等待0.5秒 | |
6 | -200 | 鼠标滚轮“向下”滚动200距离 | |
使用exe执行文件 "大羽改良版.exe" 在退出程序时,不要直接用鼠标点击右上角的 "X" 进行关闭,需要输入命令 “0.退出程序”。 因为exe会在 %temp% 文件夹中产生大量的以 MEI_xxx 命名的临时文件 0.退出程序 它是在退出之前将在 %temp% 产生的 MEI_xxx 临时垃圾文件全部删除后再退出程序,确保你的系统盘不会被临时文件占满。
使用 "大羽改良版.py"则不会有以上问题。
排名部分先后
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。