昨天刷B站看见了个微信自动回复小程序视频作者是不高兴就喝水视频在这看着感觉挺有意思的我也搞个敷衍我女朋友。

安装python3.4以上版本,并配置环境变量!!!

1.安装依赖包

方法:在cmd中(win+R  输入cmd  回车)输入

pip install pyperclip 回车

pip install xlrd 回车

pip install pyautogui==0.9.50 回车

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple 回车

pip install pillow 回车

这几步如果哪步没成功,请自行百度 如 pip install opencv-python失败

差不多大概就是这样。如果不行的话看这个文章,这个文章有答案我就从这搞好的

2.还要搞一个Excel 把每一步要操作的图标、区域截图保存至本文件夹  png格式

Excel 的sheet1 中,配置每一步的指令,如指令类型1234  对应的内容填截图文件名(别用中文),指令5对应的内容是等待时长(单位秒) 指令6对应的内容是滚轮滚动的距离,正数表示向上滚,负数表示向下滚,数字大一点,先用200和-200试试,然后保存文件就行了。

import pyautogui
import time
import xlrd
import pyperclip#定义鼠标事件#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)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'#打开文件wb = xlrd.open_workbook(filename=file)#通过索引获取表格sheet页sheet1 = wb.sheet_by_index(0)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. 打开程序,按1表示excel中的指令执行一次,按2表示无限重复执行直到程序关闭。

出现这样子就代表程序可以运行了

开始程序后请将程序框最小化,不然程序框挡住的区域是无法识别和操作的如果程序开始后因为你选择了无限重复而鼠标被占用停不下来,alt+F4就OK了。

如何报错不能运行可以看这个文章里面有解决方法!!!

OK了本期文章就到这里了喜欢的小伙伴点点免费的赞吧,明天国庆节了祝大家国庆节快乐!!! 

微信自动回复小程序(有手就行)相关推荐

  1. python 微信自动回复小程序

    #微信自动回复小程序,需要pip安装itchat,codesc,祝福语可以自己调整,数量自定,i_wm = int(round(random.random()*30,0))调整30的数量即可. #运行 ...

  2. 微信小程序开发手账从入门到部署【持续更新】

    微信小程序开发手账 从今天起,打算记录一下自己从入门开发微信小程序到小程序上线的完整流程. 如果没有意外的话打算每周更新一次.20201231 准备工作 hbuilder.java环境(springb ...

  3. 微信小程序练手项目-音乐播放器

    微信小程序练手项目-音乐播放器 该项目只适合练手,大佬请绕道 项目展示图: 项目介绍 微信小程序音乐播放器 页面: 音乐推荐.播放器.播放列表 功能: 播放.暂停.上一首.下一首.跳转播放列表.实时进 ...

  4. 视频教程-微信小程序系统教程python版[3/3阶段]_微信小程序支付-手游开发

    微信小程序系统教程python版[3/3阶段]_微信小程序支付 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试 ...

  5. 微信小程序 换行显示指定行数据量

    微信小程序 换行显示指定行数据量 方式1 在wxml进行数据的判断展示 =====page.js 文件Page({data:{testArr:['a0','a1','a2','a3','a4','a5 ...

  6. 微信小程序云开发用户身份登录_云开发版的微信商城小程序第一章

    我们经过前面小程序基础和云开发基础的学习,今天就来带大家实现一个综合项目,上线一款属于自己的微信商城小程序. 文末有彩蛋 如果你有小程序基础可以跳过上面的基础,直接看下面的,如果没有小程序基础,建议你 ...

  7. android微信下拉出现小程序,仿新版微信的小程序下拉栏

    原标题:仿新版微信的小程序下拉栏 本项目会对金融交易软件中存在的各种View进行模仿绘制,提供详细的实现思路,收集整理相关算法.文档以及专业资料. https://github.com/scsfwgy ...

  8. 微信公众平台接口调试工具json格式不对怎么搞_腾讯云和微信推出更快速的小程序开发平台,微信读书小程序作示范...

    腾讯云副总裁刘颖将腾讯云定义为微信的一个助手,腾讯云面向微信生态开发者输出的技术解决方案包括"小程序·云开发".小程序音视频直播.小游戏联机对战引擎等,腾讯云与企业微信的合作也会在 ...

  9. (微信小程序)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好

    转载地址:(微信小程序)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好 转载请注明出处 作者:Happy王子乐 个人网站(整理 ...

最新文章

  1. 没有熙熙攘攘,百度VR在世界大会的一场奇妙之旅
  2. String与string的区别
  3. 建站手册-网站主机:电子商务主机
  4. Leetcode:415. Add Strings
  5. mysql关联力控_力控软件和三菱PLC的通讯模块通讯设定
  6. 计算机小高考要点,小高考的复习计划
  7. networks.XXX.ipam.config value Additional properties are not allowed (‘gateway‘ was unexpected) 解决办法
  8. Masking Adversarial Damage: Finding Adversarial Saliency for Robust and Sparse Network
  9. 前端入门之(我与iscroll的不期而遇)
  10. margin设置百分比
  11. aria服务器没有响应,aria2服务器错误
  12. 关于seekbar的thumb被截取的问题
  13. 技嘉B560M VCCIO2电压设计缺陷
  14. 虚拟机与虚拟机之间网络_虚拟工作是人类与技术之间的舞蹈
  15. Java与C语言中的锁
  16. HTML中通过js 自定义一个鼠标悬停后立刻显示的Title(附效果图)
  17. Mybatis plus 之 QueryWrapper、LambdaQueryWrapper、LambdaQueryChainWrapper
  18. 【从0到1完成一个项目(一)】用户中心(上)
  19. 医院计算机岗位实践报告,it实习报告范文3000字
  20. dsp 的学习方法收集:如何学习dsp

热门文章

  1. 新的一天,加油努力!
  2. 软件测试周刊(第39期):我们必须全力以赴,同时又不抱持任何希望。
  3. 第三方开发者平台地址整理
  4. 企业资金链断裂如何表现在现金流量表中?看净现金流量吗?
  5. win10系统下Bitlocker密码忘了的具体解决方法
  6. 【好奇心驱动力】ESP32-CAM人体感应拍照并推送到微信
  7. 如何提升自身能力?不再平庸
  8. 【FreeRTOS】队列管理
  9. 前端实现图片压缩上传功能
  10. 投资理财学习笔记四,1.6那些必知的宏观经济指标(上)