# CocoPyRPA--基于 PyAutoGUI + OpenCV的桌面自动化python程序
## 1. 项目背景
> **声明:原项目由Bilibili UP 主 [@不高兴就喝水](https://space.bilibili.com/412704776 "个人空间")
完成,本人在其基础上稍作了修改,在此感谢 [@不高兴就喝水](https://space.bilibili.com/412704776 "个人空间") 给予的灵感**
>
> 原视频连接:[传送门](https://www.bilibili.com/video/BV1T34y1o73U/ "视频链接")
* 平时工作、学习需要完成许多具有规律性、重复性且又繁杂的任务,这令我们缺少了更多时间去(摸鱼^o^)学习新知识、新技能,故此项目由此诞生
* 原项目的代码冗余和注释都不够好,且所有功能集于一个python文件,其拓展能力以及后期维护或新增功能都比较麻烦,为解决此问题,我在最新的V2.0.0版本中采用模块化开发,对其进行了部分优化
* 本人初学python(主学的是java后端开发),做此项目也算是一次python练手了(>_<)
## 2. 安装说明:
### 2.1 项目结构
```text
../
|--history/
|--模板_v1.0.0.py
|--模板_v1.0.0指令测试.xls
|--模板_v1.1.0.py
|--模板_v1.1.0指令测试.xls
|--logs/
|--src/
|--PyRPA_pkg/
|--__pycache__/
|--__init__.py
|--check_mod.py
|--CocoPyRPAlogger.py
|--functions_mod.py
|--utils_mod.py
|--main.py --> 主执行文件
|ver_desc.py
|--test/
|--example/
|--PyRPA_v2.0.0指令测试.xls
|--test1.png
|--.gitignore
|--README.md
```
### 2.2 安装之前的准备
> 1. 安装python3.4以上版本,并配置好系统环境变量(目前有装3.9遇到坑的,我个人用的3.10.8),不会配的请自行百度
>
> 2. 安装依赖包
>
> 方法:在cmd中(win+R 输入cmd 回车)输入
> pip install pyperclip 回车
> pip install xlrd 回车
> pip install pyautogui 回车
> pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple 回车
> pip install pillow 回车
> 这几步如果哪步没成功,请自行百度 如 pip install opencv-python失败
>
> (我个人强烈建议使用 PyCharm 自带的 python
库安装([PyCharm官网](https://www.jetbrains.com/pycharm/download/?section=windows)),如下图所示)
>
> ![PyCharm.png](https://s2.loli.net/2023/10/27/GafiOCLH4X2rtR7.png)
>
> 3.
### 2.3 安装
直接安装右侧 **release** 发行版或者 **clone** 本仓库到本地。
## 3. 使用示例:
> 1. 使用方法:把每一步要操作的图标、区域截图保存至一个文件夹中,**绝对路径不能含有中文**字符(例如:*D:/任务图片/xxx.png*
是不合格的),**图片必须为png格式**(注意如果同屏有多个相同图标,程序默认找到最左上的一个,因此怎么截图,截多大的区域很重要,比如输入框只截中间空白部分肯定是不行的,宗旨就是“唯一”)。
>
> 2. 在与任务图片相同目录文件夹下建一个以` .xls`为后缀名的 Excel
表格(如果不是此格式会出问题),在表格里的第一行是命令的类型、内容等等,详见项目文件 `test/example/PyRPA_v2.x指令测试.xls`
。表格里是所有你想要执行的功能指令
>
> 3. 如果你之前的准备都完成了,则双击` main.py`文件即可启动程序。程序启动后会弹窗提示(如下图1所示)输入任务表格的**绝对路径
**(最好不带中文字符),点击` OK`后程序就会去电脑中找到你的 excel 表格。如果表格不存在或者输入的路径错误就会弹窗提示(如下图2所示)
>
> 图1
>
> ![PyRPA-start.png](https://s2.loli.net/2023/10/31/CzHYN9W21jMJVUR.png)
>
> 图2
>
> ![路径警告](https://s2.loli.net/2023/10/31/NREGAOTvt5UYisu.png)
>
> 4.
在程序读取到表格里的内容时,如果表格内填写的指令内容都正确,则会弹出数据检查成功的弹窗,如果数据检查失败也会弹窗提示,并将错误写到 `logs/`
文件夹下的 ` check_mod[xx.xx.xx].log` 日志里,可以打开日志文件查看具体是表格的什么地方数据有误。
>
> 5. (待完成。。。)
>
>
>
> PyAutoGUI库的一些实例参考:
>
> 1. [Python自动操作GUI神器PyAutoGUI - 知乎](https://zhuanlan.zhihu.com/p/302592540)
> 2. [pyautogui 官方 github 源码](https://github.com/asweigart/pyautogui)
> 3. [pyautogui 官方 github 中文文档](https://github.com/asweigart/pyautogui/blob/master/docs/simplified-chinese.ipynb)
> 4. [pyautogui 官网说明文档(英文)](https://pyautogui.readthedocs.io/en/latest/index.html)
## 4. 目前支持的功能:
1. 鼠标类指令
| 指令 | 指令实例对象类型 | 指令内容 | 备注 |
|:------:|:--------:|:-----------:|:-------------------------------------------------------------------:|
| 单击左键 | 字符串 | 图片绝对路径/无 | 图片为png格式,填"无"不点击图片仅单击(开发中) |
| 双击左键 | 字符串 | 图片绝对路径/无 | |
| 单击右键 | 字符串 | 图片绝对路径/无 | |
| 滚轮 | 数字 | 200、-200等 | |
| 鼠标定点移动 | 特定格式字符串 | `(100*40)`等 | 格式为 `(x*y)` ,注意是半角符号即英文符号 ,x的取值范围是[0, 宽度分辨率-1],y的取值范围是[0, 高度分辨率-1]。 |
| 鼠标相对移动 | 特定格式字符串 | `(-100 | 300)`等 | 格式为 `(x|y)` ,注意是半角符号即英文符号,x的取值范围是[-(宽度分辨率-1), 宽度分辨率-1],y的取值范围是[-(高度分辨率-1), 高度分辨率-1]。 |
2. 键盘类指令
| 指令 | 指令实例对象类型 | 指令内容 | 备注 |
|:---------:|:--------:|:-----------------------------:|:---------------:|
| 按键 | 特定的字符(串) | 键盘上的具体按键(enter、A、F11) | 参考支持的按键 |
| 热键组合 | 特定格式的字符串 | ctrl+shift+esc、ctrl+c、ctrl+v等 | 支持任何具体可用的快捷键组合 |
| 键盘输入TXT内容 | 文件路径字符串 | `xxx.txt`文本文件的绝对路径 | 模拟人的打字,依次敲击文本内容 |
> 【注意事项】:
>
> a. **指令<键盘输入TXT内容>底层调用的是 `pyaotugui.typewrite` ,不支持输入中文**
>
> b. 因为指令<键盘输入TXT内容>是**模拟人敲击键盘**来将文本内容输入目标文件,所以程序并不知道你使用的是什么输入法,如果
> 你的当前**输入法是中文**,而 `xxx.txt` 文件内写的内容是 **`woaini`** **英文字符串**,那么执行此指令可能会输出对应的中文
**`我爱你`** 。这导致的结果就是会产生意外的错误输入(当然,你可以以这个特性来输入中文😀)。
>
>
3. 控制类指令
| 指令 | 指令实例对象类型 | 指令内容 | 备注 |
|:-------------:|:--------:|:-----:|:-----:|
| 等待 | 数字 | 时间/秒 | |
| cmd指令(开发中未实现) | 字符串 | cmd指令 | 确保可执行 |
| | | | |
4. 其它
| 指令 | 指令实例对象类型 | 指令内容 | 备注 |
|:-----:|:--------:|:----:|:------------------:|
| 输入 | 字符串 | 任意 | 将单元格内容复制到系统剪贴板,再粘贴 |
| (开发中) | | | |
## 5. 文档链接:
暂无
## 7.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
使用方法:把每一步要操作的图标、区域截图保存至一个文件夹中,绝对路径不能含有中文字符(例如:D:/任务图片/xxx.png 是不合格的),图片必须为png格式(注意如果同屏有多个相同图标,程序默认找到最左上的一个,因此怎么截图,截多大的区域很重要,比如输入框只截中间空白部分肯定是不行的,宗旨就是“唯一”)。 在与任务图片相同目录文件夹下建一个以 .xls为后缀名的 Excel 表格(如果不是此格式会出问题),在表格里的第一行是命令的类型、内容等等,详见项目文件 test/example/PyRPA_v2.x指令测试.xls 。表格里是所有你想要执行的功能指令 如果你之前的准备都完成了,则双击 main.py文件即可启动程序。程序启动后会弹窗提示(如下图1所示)输入任务表格的**绝对路径 **(最好不带中文字符),点击 OK后程序就会去电脑中找到你的 excel 表格。如果表格不存在或者输入的路径错误就会弹窗提示(如下图2所示)
资源推荐
资源详情
资源评论
收起资源包目录
CocoPyRPA-master.zip (26个子文件)
CocoPyRPA-master
src
main.py 5KB
ver_desc.py 444B
PyRPA_pkg
__init__.py 26B
functions_mod.py 11KB
CocoPyRPAlogger.py 2KB
utils_mod.py 358B
check_mod.py 8KB
.idea
execute.iml 971B
misc.xml 293B
webResources.xml 368B
inspectionProfiles
Project_Default.xml 251B
profiles_settings.xml 228B
modules.xml 266B
.gitignore 182B
encodings.xml 329B
history
模板_v1.0.0.py 8KB
模板_v1.1.0.py 11KB
模板_v1.1.0指令测试.xls 24KB
模板_v1.0.0指令测试.xls 34KB
logs
main[2023-10-27].log 789B
main[2023-10-26].log 10KB
test
example
test1.txt 15B
PyRPA_v2.x指令测试.xls 24KB
test1.png 683B
.gitignore 37B
README.MD 8KB
共 26 条
- 1
资源评论
十小大
- 粉丝: 9800
- 资源: 2556
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- STC15单片机串口2使用程序例子
- 读取日志的excel生成周报 用python3开发weekplan-master.zip
- python 读取excel数据导入dbimport-data-master.zip
- K折交叉验证BP神经网络,多输入多输出BP神经网络(代码完整,数据齐全)
- B07训练原图.zip
- python-对Excel数据处理做可视化分析.zip
- 人工智能大作业-无人机图像目标检测的python源代码+文档说明.zip
- 基于GoogLeNet实现Cifar-10图像分类项目python源码(高分项目).zip
- 数据库 sql 面试题目及答案解析.docx
- 汽车常见 10 种传感器故障后的表现与解决措施.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功