可以与模拟器一起使用,实现图像识别,鼠标自动点击

代码如下:

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库的运用案例相关推荐

  1. 详解Python中pyautogui库的最全使用方法

    这篇文章主要介绍了详解Python中pyautogui库的最全使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值 在使用Python做脚本的话,有两个库可以使用,一个 ...

  2. Python中pyautogui库的最全使用方法

    Python中pyautogui库的最全使用方法 Python中pyautogui库的最全使用方法 常用操作 鼠标操作 键盘操作 弹窗操作 图像操作 参考资料 Python中pyautogui库的最全 ...

  3. python 控制库_python中实现自动化控制pyautogui库使用方法介绍

    大家在使用电脑中,有时候需要电脑进行一些繁锁的程序化操作.Python中有一个第三方库,能够帮助大家实现自动化控制电脑完成指定任务.这个库叫pyautogui库.今天,咿哑呀就简单地教大家怎样使用这个 ...

  4. python自动控制库_python PyAUtoGUI库实现自动化控制鼠标键盘

    PyAutoGUI 不知道你有没有用过,它是一款用Python自动化控制键盘.鼠标的库.但凡是你不想手动重复操作的工作都可以用这个库来解决. 比如,我想半夜时候定时给发个微信,或者每天自动刷页面等操作 ...

  5. python概率编程_Python概率编程库PyMC应用案例二则,pymc应用案例

    Python概率编程库PyMC应用案例二则,pymc应用案例 这是受国防科大刘万伟老师委托发的概率编程方面的内容,这方面我不懂,为了避免解释错了,我就直接把刘老师的PPT资料截图发了. 代码执行结果为 ...

  6. Python的PyAutoGUI库整理中文文档,可以让所有GUI都实现自动化。

    1.0 简介 1.1 目的 PyAutoGUI是一个纯Python的GUI自动化工具,可以模拟鼠标的移动.点击.拖拽,键盘按键输入.按住操作,以及鼠标+键盘的热键同时按住等操作,能完全代替手动操作.还 ...

  7. 使用python 自动给微信好友发送消息 pyautogui库下载

    使用Python-pyautogui,实现全自动微信发消息,带交互功能 直接输入好友的备注.想发送的次数以及发送的内容,即可实现自动查找该好友并对该好友发送指定的消息 先直接上代码,后文会给出代码的具 ...

  8. 用Python中pyautogui库实现直播点赞(钉钉直播)

    全网最详细.最简单的自动直播刷赞(保姆级教学) 作为一名大学生的我,因为疫情原因.我们不得不上网课,我们老师经过讨论,决定用钉钉直播上课.而我最为班里活跃度比较高的一个人,平时除了发发弹幕来和老师聊聊 ...

  9. python的PyAutoGUI库的简单使用与安装

    如何通过python代码解放双手,或者通过代码实现自动的电脑鼠标or键盘操作呢? python的PyAutoGUI库是一个很好地选择. 1.首先根据下面这个网址下载PyAutoGUI https:// ...

最新文章

  1. 图片上传之FileAPI与NodeJs
  2. mysql 事务 for update_mysql事务,select for update,及数据的一致性处理
  3. Inline Temp(内联临时变量)
  4. c语言mysql 学生信息管理系统_学生信息管理系统学生时代小作品源码(C语言版)...
  5. VC++工作笔记0001---积累-vc中m_开头的意义
  6. Redis的哨兵(sentinel)模式
  7. laravel5.5表单验证
  8. MSSQL备份及数据迁移
  9. 君正X1500基于Minios的crash分析
  10. Java模拟醉汉行走问题_醉汉随机行走/随机漫步问题(Random Walk Drunk Python)
  11. SpringBoot整合screw生成数据库文档
  12. 史上最详细Lip-reading with Hierarchical Pyramidal Convolution and Self-Attention文章记录
  13. C51单片机数码管静态显示(附源码及工程)
  14. 电脑上有什么比较好用的屏幕录制软件
  15. Android学习之复选框checkbox自定义样式以及调整图片大小
  16. 2021教育企业邮箱怎么注册?如何申请学校邮箱?
  17. 逻辑回归公式推导过程
  18. 【字源大挪移—读书笔记】 第一部分:字首
  19. arcgis之合并碎小图斑到相邻大块图斑
  20. 教育平台项目后台管理系统:视频讲解

热门文章

  1. android推箱子实验报告,[转载]【Android开发】自定义动画-推箱子的开始界面
  2. W7共享打印显示服务器脱机,手把手教你解决win7系统连接网络共享打印机时出现脱机提示的恢复方案...
  3. Hyperleder Fabric国密改造一键部署工具区块链网络修改工具
  4. Shader实例:溶解效果(Dissolve)
  5. 台式机Ubuntu18.04 装无限网卡驱动问题记录
  6. 打造红人经济,曾不食烟火的豆瓣今天距离钱越来越近
  7. rust做嵌入式开发_Redox:一款纯用Rust语言开发的操作系统
  8. schwarz( 施瓦兹)不等式证明
  9. 计算机语言python读音_python+拼音
  10. BUUCTF-另外一个世界