传送门:5分钟,教你做个自动化软件拿来办公、刷副本、回微信 | 源码公开,开箱即用_哔哩哔哩_bilibili
程序可以跑一些,简单重复性的工作,比如自动回微信,视频 站自动点赞之类的!
自己跑了一下,的确很好用!但是滑轮没用明白,如果有大神希望指点一二
可以私信联系我
最近两天没更flask,要学习了!
代码如下,文末有操作手册
直接下载源文件:waterRPA.rar – 蓝奏云
- import pyautogui
- import time
- import xlrd
- import pyperclip
-
- #定义鼠标事件
-
- #pyautogui库其他用法 https://blog.csdn.net/qingfengxd1/article/details/108270159
-
- def 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)
- break
- print("未找到匹配图片,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 = 1
- while i
- 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 += 1
- time.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
- print("没数据啊哥")
- checkCmd = False
- #每行数据检查
- i = 1
- while i
- # 第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 = False
- i += 1
- return checkCmd
-
- #任务
- def mainWork(img):
- i = 1
- while i
- #取本行指令的操作类型
- cmdType = sheet1.row(i)[0]
- if cmdType.value == 1.0:
- #取图片名称
- img = sheet1.row(i)[1].value
- reTry = 1
- if sheet1.row(i)[2].ctype == 2 and sheet1.row(i)[2].value != 0:
- reTry = sheet1.row(i)[2].value
- mouseClick(1,"left",img,reTry)
- print("单击左键",img)
- #2代表双击左键
- elif cmdType.value == 2.0:
- #取图片名称
- img = sheet1.row(i)[1].value
- #取重试次数
- reTry = 1
- if sheet1.row(i)[2].ctype == 2 and sheet1.row(i)[2].value != 0:
- reTry = sheet1.row(i)[2].value
- mouseClick(2,"left",img,reTry)
- print("双击左键",img)
- #3代表右键
- elif cmdType.value == 3.0:
- #取图片名称
- img = sheet1.row(i)[1].value
- #取重试次数
- reTry = 1
- if sheet1.row(i)[2].ctype == 2 and sheet1.row(i)[2].value != 0:
- reTry = sheet1.row(i)[2].value
- mouseClick(1,"right",img,reTry)
- print("右键",img)
- #4代表输入
- elif cmdType.value == 4.0:
- inputValue = sheet1.row(i)[1].value
- pyperclip.copy(inputValue)
- pyautogui.hotkey('ctrl','v')
- time.sleep(0.5)
- print("输入:",inputValue)
- #5代表等待
- elif cmdType.value == 5.0:
- #取图片名称
- waitTime = sheet1.row(i)[1].value
- time.sleep(waitTime)
- print("等待",waitTime,"秒")
- #6代表滚轮
- elif cmdType.value == 6.0:
- #取图片名称
- scroll = sheet1.row(i)[1].value
- pyautogui.scroll(int(scroll))
- print("滚轮滑动",int(scroll),"距离")
- i += 1
-
- if __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':
- #循环拿出每一行指令
-
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!