pyautogui库的运用案例
可以与模拟器一起使用,实现图像识别,鼠标自动点击
代码如下:
import pyautogui
import time
import xlrd
import pyperclip
# import pandas as pd# 定义鼠标事件# 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.0and 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('欢迎使用wzt自动化~')# 数据检查checkCmd = dataCheck(sheet1)if checkCmd:key = input('选择功能: 1.做5次 2.循环到死 \n')if key == '1':# 循环拿出每一行指令mainWork(sheet1)mainWork(sheet1)mainWork(sheet1)mainWork(sheet1)mainWork(sheet1)elif key == '2':while True:mainWork(sheet1)time.sleep(0.1)print("等待0.1秒")else:print('输入有误或者已经退出!')
pyautogui库的运用案例相关推荐
- 详解Python中pyautogui库的最全使用方法
这篇文章主要介绍了详解Python中pyautogui库的最全使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值 在使用Python做脚本的话,有两个库可以使用,一个 ...
- Python中pyautogui库的最全使用方法
Python中pyautogui库的最全使用方法 Python中pyautogui库的最全使用方法 常用操作 鼠标操作 键盘操作 弹窗操作 图像操作 参考资料 Python中pyautogui库的最全 ...
- python 控制库_python中实现自动化控制pyautogui库使用方法介绍
大家在使用电脑中,有时候需要电脑进行一些繁锁的程序化操作.Python中有一个第三方库,能够帮助大家实现自动化控制电脑完成指定任务.这个库叫pyautogui库.今天,咿哑呀就简单地教大家怎样使用这个 ...
- python自动控制库_python PyAUtoGUI库实现自动化控制鼠标键盘
PyAutoGUI 不知道你有没有用过,它是一款用Python自动化控制键盘.鼠标的库.但凡是你不想手动重复操作的工作都可以用这个库来解决. 比如,我想半夜时候定时给发个微信,或者每天自动刷页面等操作 ...
- python概率编程_Python概率编程库PyMC应用案例二则,pymc应用案例
Python概率编程库PyMC应用案例二则,pymc应用案例 这是受国防科大刘万伟老师委托发的概率编程方面的内容,这方面我不懂,为了避免解释错了,我就直接把刘老师的PPT资料截图发了. 代码执行结果为 ...
- Python的PyAutoGUI库整理中文文档,可以让所有GUI都实现自动化。
1.0 简介 1.1 目的 PyAutoGUI是一个纯Python的GUI自动化工具,可以模拟鼠标的移动.点击.拖拽,键盘按键输入.按住操作,以及鼠标+键盘的热键同时按住等操作,能完全代替手动操作.还 ...
- 使用python 自动给微信好友发送消息 pyautogui库下载
使用Python-pyautogui,实现全自动微信发消息,带交互功能 直接输入好友的备注.想发送的次数以及发送的内容,即可实现自动查找该好友并对该好友发送指定的消息 先直接上代码,后文会给出代码的具 ...
- 用Python中pyautogui库实现直播点赞(钉钉直播)
全网最详细.最简单的自动直播刷赞(保姆级教学) 作为一名大学生的我,因为疫情原因.我们不得不上网课,我们老师经过讨论,决定用钉钉直播上课.而我最为班里活跃度比较高的一个人,平时除了发发弹幕来和老师聊聊 ...
- python的PyAutoGUI库的简单使用与安装
如何通过python代码解放双手,或者通过代码实现自动的电脑鼠标or键盘操作呢? python的PyAutoGUI库是一个很好地选择. 1.首先根据下面这个网址下载PyAutoGUI https:// ...
最新文章
- 图片上传之FileAPI与NodeJs
- mysql 事务 for update_mysql事务,select for update,及数据的一致性处理
- Inline Temp(内联临时变量)
- c语言mysql 学生信息管理系统_学生信息管理系统学生时代小作品源码(C语言版)...
- VC++工作笔记0001---积累-vc中m_开头的意义
- Redis的哨兵(sentinel)模式
- laravel5.5表单验证
- MSSQL备份及数据迁移
- 君正X1500基于Minios的crash分析
- Java模拟醉汉行走问题_醉汉随机行走/随机漫步问题(Random Walk Drunk Python)
- SpringBoot整合screw生成数据库文档
- 史上最详细Lip-reading with Hierarchical Pyramidal Convolution and Self-Attention文章记录
- C51单片机数码管静态显示(附源码及工程)
- 电脑上有什么比较好用的屏幕录制软件
- Android学习之复选框checkbox自定义样式以及调整图片大小
- 2021教育企业邮箱怎么注册?如何申请学校邮箱?
- 逻辑回归公式推导过程
- 【字源大挪移—读书笔记】 第一部分:字首
- arcgis之合并碎小图斑到相邻大块图斑
- 教育平台项目后台管理系统:视频讲解
热门文章
- android推箱子实验报告,[转载]【Android开发】自定义动画-推箱子的开始界面
- W7共享打印显示服务器脱机,手把手教你解决win7系统连接网络共享打印机时出现脱机提示的恢复方案...
- Hyperleder Fabric国密改造一键部署工具区块链网络修改工具
- Shader实例:溶解效果(Dissolve)
- 台式机Ubuntu18.04 装无限网卡驱动问题记录
- 打造红人经济,曾不食烟火的豆瓣今天距离钱越来越近
- rust做嵌入式开发_Redox:一款纯用Rust语言开发的操作系统
- schwarz( 施瓦兹)不等式证明
- 计算机语言python读音_python+拼音
- BUUCTF-另外一个世界