写在最开始的话:

看了B站一个up主的讲解之后尝试自己动手实现了一下。下面是源视频地址 。得到作者的同意分享出来。

5分钟,教你做个自动化软件拿来办公、刷副本、回微信 | 源码公开,开箱即用_哔哩哔哩_bilibili手撸一个自动化软件,可以用来办公、玩游戏、甚至回微信源码放出、开箱即用https://www.bilibili.com/video/BV1T34y1o73U?spm_id_from=333.999.0.0

1.环境配置

pycharm2021,python3.8,anaconda3

安装教程

PyCharm Community安装与配置_fangye945a的博客-CSDN博客_pycharmcommunity最近python挺火,空闲时间看了几个python视频,觉得简单易懂,开发效率高,应用范围广,值得学习。如下便开始搭建学习环境,即安装一款好用的Python IDE。       Pycharm作为一款针对 Python的编辑器,配置简单、功能强大、使用起来省时省心,对初学者友好,所以先在windows上进行安装、配置和使用。一、Pycharm的下载和安装PyCharm ...https://xiaoyege.blog.csdn.net/article/details/87829481Anaconda--Pycharm安装教程_努力成为码农的小可爱~的博客-CSDN博客_pycharm安装anaconda因为不想每次下载安装的时候都要去找博客,干脆就参考别人的博客,把自己需要的写下来了。1、Anaconda的安装 从官网https://www.anaconda.com/download/下载Anaconda的安装程序,在该页面选择你电脑所对应的系统(Windows、macOS or Linux)以及操作系统位数(64位 or 32位)。 选择Python 3.8,等待下载完成,之后便会得到一个anaconda的exe可执行文件。![在这里插入图片描述](https://img-blog.csdhttps://blog.csdn.net/weixin_43911610/article/details/109037361

2.安装第三方库

pyperclip、xlrd、pyautogui==0.9.50、pillow、opencv-python(使用pyautogui需要用到)

安装教程:

https://blog.csdn.net/pxyp123/article/details/124195031https://blog.csdn.net/pxyp123/article/details/124195031

3.截图需要自动操作的步骤

把每一步要操作的图标、区域截图保存至本文件夹  png格式(注意如果同屏有多个相同图标,回默认找到最左上的一个

4.在excel文件配置操作内容

在cmd.xls 的sheet1(也可以是其他的sheet,可以自己在代码中更改) 中,配置每一步的指令,如指令类型1234  对应的内容填截图文件名(别用中文),指令5对应的内容是等待时长(单位秒) 指令6对应的内容是滚轮滚动的距离,正数表示向上滚,负数表示向下滚,数字大一点,先用200和-200试试

5.运行程序

waterRPA.py打开程序,按1表示excel中的指令执行一次,按2表示无限重复执行直到程序关闭

只需要用到一个代码,但是你的excel和保存的图片要和代码在同一个目录下。如图所示:

6.我的配置

做了一个自动刷csdn阅读量的测试。

自动化软件测试

7.资源获取

链接:https://pan.baidu.com/s/1Y80aPk13SQOxnMU8ae885g 
提取码:w2rx 
--来自百度网盘超级会员V6的分享

「waterRPA」https://www.aliyundrive.com/s/4FLiUchKWNF 提取码: a8s9 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

源码:

import pyautogui
import time
import xlrd
import pyperclip
#import opencv-pyhton
import cv2
#定义鼠标事件#pyautogui库其他用法 https://blog.csdn.net/qingfengxd1/article/details/108270159def mouseClick(clickTimes,lOrR,img,reTry):if reTry == 1:while True:location=pyautogui.locateCenterOnScreen(img,confidence=0.9)#location=pyautogui.locateOnScreen(img,confidence=0.9)if location is not None:pyautogui.click(location.x,location.y,clicks=clickTimes,interval=0.2,duration=0.2,button=lOrR)breakprint("未找到匹配图片,0.1秒后重试")time.sleep(0.1)elif reTry == -1:while True:location=pyautogui.locateCenterOnScreen(img,confidence=0.9)if location is not None:pyautogui.click(location.x,location.y,clicks=clickTimes,interval=0.2,duration=0.2,button=lOrR)time.sleep(0.1)elif reTry > 1:i = 1while i < reTry + 1:location=pyautogui.locateCenterOnScreen(img,confidence=0.9)if location is not None:pyautogui.click(location.x,location.y,clicks=clickTimes,interval=0.2,duration=0.2,button=lOrR)print("重复")i += 1time.sleep(0.1)# 数据检查
# cmdType.value  1.0 左键单击    2.0 左键双击  3.0 右键单击  4.0 输入  5.0 等待  6.0 滚轮
# ctype     空:0
#           字符串:1
#           数字:2
#           日期:3
#           布尔:4
#           error:5
def dataCheck(sheet1):checkCmd = True#行数检查if sheet1.nrows<2:print("没数据啊哥")checkCmd = False#每行数据检查i = 1while i < sheet1.nrows:# 第1列 操作类型检查cmdType = sheet1.row(i)[0]if cmdType.ctype != 2 or (cmdType.value != 1.0 and cmdType.value != 2.0 and cmdType.value != 3.0 and cmdType.value != 4.0 and cmdType.value != 5.0 and cmdType.value != 6.0):print('第',i+1,"行,第1列数据有毛病")checkCmd = False# 第2列 内容检查cmdValue = sheet1.row(i)[1]# 读图点击类型指令,内容必须为字符串类型if cmdType.value ==1.0 or cmdType.value == 2.0 or cmdType.value == 3.0:if cmdValue.ctype != 1:print('第',i+1,"行,第2列数据有毛病")checkCmd = False# 输入类型,内容不能为空if cmdType.value == 4.0:if cmdValue.ctype == 0:print('第',i+1,"行,第2列数据有毛病")checkCmd = False# 等待类型,内容必须为数字if cmdType.value == 5.0:if cmdValue.ctype != 2:print('第',i+1,"行,第2列数据有毛病")checkCmd = False# 滚轮事件,内容必须为数字if cmdType.value == 6.0:if cmdValue.ctype != 2:print('第',i+1,"行,第2列数据有毛病")checkCmd = Falsei += 1return checkCmd#任务
def mainWork(img):i = 1while i < sheet1.nrows:#取本行指令的操作类型cmdType = sheet1.row(i)[0]if cmdType.value == 1.0:#取图片名称img = sheet1.row(i)[1].valuereTry = 1if sheet1.row(i)[2].ctype == 2 and sheet1.row(i)[2].value != 0:reTry = sheet1.row(i)[2].valuemouseClick(1,"left",img,reTry)print("单击左键",img)#2代表双击左键elif cmdType.value == 2.0:#取图片名称img = sheet1.row(i)[1].value#取重试次数reTry = 1if sheet1.row(i)[2].ctype == 2 and sheet1.row(i)[2].value != 0:reTry = sheet1.row(i)[2].valuemouseClick(2,"left",img,reTry)print("双击左键",img)#3代表右键elif cmdType.value == 3.0:#取图片名称img = sheet1.row(i)[1].value#取重试次数reTry = 1if sheet1.row(i)[2].ctype == 2 and sheet1.row(i)[2].value != 0:reTry = sheet1.row(i)[2].valuemouseClick(1,"right",img,reTry)print("右键",img) #4代表输入elif cmdType.value == 4.0:inputValue = sheet1.row(i)[1].valuepyperclip.copy(inputValue)pyautogui.hotkey('ctrl','v')time.sleep(0.5)print("输入:",inputValue)                                        #5代表等待elif cmdType.value == 5.0:#取图片名称waitTime = sheet1.row(i)[1].valuetime.sleep(waitTime)print("等待",waitTime,"秒")#6代表滚轮elif cmdType.value == 6.0:#取图片名称scroll = sheet1.row(i)[1].valuepyautogui.scroll(int(scroll))print("滚轮滑动",int(scroll),"距离")                      i += 1if __name__ == '__main__':#file = 'cmd.xls'file = 'cmd_my.xls'#打开文件wb = xlrd.open_workbook(filename=file)#通过索引获取表格sheet页sheet1 = wb.sheet_by_index(3)print('欢迎使用不高兴就喝水牌RPA~')#数据检查checkCmd = dataCheck(sheet1)if checkCmd:key=input('选择功能: 1.做一次 2.循环到死 \n')if key=='1':#循环拿出每一行指令mainWork(sheet1)elif key=='2':while True:mainWork(sheet1)time.sleep(0.1)print("等待0.1秒")    else:print('输入有误或者已经退出!')

做个自动化软件拿来办公、刷副本、回微信 | 源码公开,开箱即用相关推荐

  1. C#毕业设计——基于C#+c+sqlserver的办公耗材库存管理软件设计与实现(毕业论文+程序源码)——库存管理软件

    基于C#+c+sqlserver的办公耗材库存管理软件设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+c+sqlserver的办公耗材库存管理软件设计与实现,文章末尾附有本毕业设计的 ...

  2. PPT办公软件网页素材资源下载类网站源码 dedecms织梦模板 利于SEO优化

    简介: 织梦最新内核开发的模板,该模板属于图片素材.PPT素材.Excel素材.Word素材.网页素材类企业都可使用,这款模板使用范围极广,不仅仅局限于一类型的企业,你只需要把图片和产品内容换成你的, ...

  3. java毕业设计——基于java+Winpcap的局域网监听软件设计与实现(毕业论文+程序源码)——局域网监听软件

    基于java+Winpcap的局域网监听软件设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Winpcap的局域网监听软件设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  4. java毕业设计线上办公工作流系统mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计线上办公工作流系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计线上办公工作流系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B ...

  5. 基于JAVA医保局综合办公系统计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA医保局综合办公系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA医保局综合办公系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开 ...

  6. java计算机毕业设计OA办公系统设计与实现源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计OA办公系统设计与实现源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计OA办公系统设计与实现源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目 ...

  7. java计算机毕业设计OA办公系统设计与实现源码+数据库+系统+lw文档

    java计算机毕业设计OA办公系统设计与实现源码+数据库+系统+lw文档 java计算机毕业设计OA办公系统设计与实现源码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  8. C#毕业设计——基于C#+vs.net+SQL Server的多功能聊天软件设计与实现(毕业论文+程序源码)——多功能聊天软件

    基于C#+vs.net+SQL Server的多功能聊天软件设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+vs.net+SQL Server的多功能聊天软件设计与实现,文章末尾附有 ...

  9. 计算机毕业设计JavaOA办公系统设计与实现(源码+系统+mysql数据库+lw文档)

    计算机毕业设计JavaOA办公系统设计与实现(源码+系统+mysql数据库+lw文档) 计算机毕业设计JavaOA办公系统设计与实现(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构 ...

最新文章

  1. Elide 4.3.1 发布,雅虎开源的应用数据 API 搭建平台
  2. ES6新特性之转码器(UmiJS入门)
  3. Hyper-v Server 2012 Release Candidate 部署体验
  4. matlab 判断鼠标按下_Simulink(其他校验模块)+Matlabgui(鼠标响应事件)+Stateflow汽车运动逻辑状态(二)...
  5. 今天一看,自己发的文章原来这么多了。openeim
  6. 使用VS2010编译64的Geos库
  7. linux shell常用函数,ps
  8. 419.甲板上的战舰
  9. postSQL hash分表
  10. spring security +oauth2(授权服务和资源服务分离) 解决getPrincipal只返回用户名的问题
  11. photoshop合并图层:向下合并、合并选中层、合并可见图层、拼合图像操作
  12. python心得总结知识点和收获,千锋Python培训学员心得 在总结中收获提升
  13. iOS 判断是否为iPhoneX以上设备
  14. Dev c++ 怎么设置背景色
  15. 2022LOL微博杯模糊问题,1080p高清看微博杯the shy比赛直播
  16. 拉升股价套利为饵狂骗157万 广州邦臣机械气化炉警方:防理财诈骗
  17. java httpClient使用代理实现互联网公网访问
  18. mycat的主从关系 垂直分库 水平分表 以及mycat分片联表查询的配置详解(mysql5.7系列)
  19. MongoDB分组取每组中一条数据
  20. Java工程师(面试)

热门文章

  1. inux系统用户名和全名有什么区别
  2. Python中Gradient Boosting Machine(GBM)调参方法详解
  3. MVC 过滤器使用 ActionFilterAttribute
  4. 轻量级腾讯云服务器ubuntu安装完mysql后需要开放MySQL3306端口
  5. 精通Perl(第2版)
  6. 1024 游戏攻略|马尔可夫链 Java代码实现
  7. 【组件攻击链】XStream组件高危漏洞分析与利用
  8. 微信开发-基于Ngrok的内网穿透工具-netapp
  9. 业绩回暖背后,华润啤酒高端战略路线道阻且艰
  10. VR+全景播放器+头控讲解-04