python练手(PyAutoGUI)
看完python 基本语法,拿PyAutoGUI练练手。试着自己做一个自动化的小脚本,来感受一下。
PyAutoGUI可以模拟用户操作鼠标、键盘,由于经常玩阴阳师,这次就拿他来当实验对象。
下边是PyAutoGUI的帮助文档PyAutoGUI帮助文档https://blog.csdn.net/qq_34053552/article/details/79776671https://blog.csdn.net/qq_34053552/article/details/79776671
目的:使用PyAutoGUI实现阴阳师自动刷御魂副本的功能
准备工作:1.下载PyAutoGUI库
使用pip下载PyAutoGUI
pip install pyautogui
2.将要识别的图片截图保存在代码目录下
3.导入库文件 ,这是这脚本用到的三个库
import pyautogui
import time
from func_timeout import *
流程:
鼠标移动到挑战按钮—点击—调整合适的休眠时间—鼠标移动到合适位置—点击
写代码:
首先构造点击挑战按钮的函数
def ks():while True:location = pyautogui.locateCenterOnScreen('ks.png',confidence = 0.9)if location is not None:pyautogui.moveTo(location, duration=1)pyautogui.leftClick()breakprint("未找到图片等待重试")time.sleep(0.5)
使用locateCenterOnScreen()来获取图片中心的坐标,将坐标传入变量中,使用IF语句判断是否获取到坐标,如果获取到使用moveTo()函数进行移动在使用leftClick()函数进行点击操作,为了确保能够获取到坐标使用while一直循环,在获取到坐标后用break跳出循环。
然后构造结束返回到挑战界面的函数
def js():while True:location = pyautogui.locateCenterOnScreen('js.png', confidence=0.9)if location is not None:pyautogui.moveTo(location, duration=1)pyautogui.leftClick()breakprint("未找到图片等待重试")time.sleep(1)
这一部分的逻辑和上边一样,可以修改为直接点击,但是为了稳定,我还是找了一个参照物,确保鼠标在游戏界面内。
接下来构造一个可以使程序退出的函数
def stopyx():stop = 1try:stopprint = func_timeout(10, lambda:input("输入1停止"))if stop == int(stopprint):exit()except FunctionTimedOut:print()
这里用到了func_timeout,这个库主要是为了在等待输入10秒后,如果用户无输入则跳出继续运行。输入1后将stopprint获取到的转化为int型的数据与stop进行匹配如果相同执行exit()退出程序。
到这里三个主要的函数就构造完成了,现在写main函数
if __name__ == '__main__':time.sleep(3)while True:ks()time.sleep(10)stopyx()js()time.sleep(3)
按照流程挨个调用函数。
结果如下:
备注
如果有图片已经出现但是无法找到图片的情况,可以降低confidence的值进行尝试。
如果出现鼠标移动但是无法点击的情况,用管理员打开你的编辑器。
游戏有检测,感受一下就行,最好不要使用
python练手(PyAutoGUI)相关推荐
- 70个Python练手项目列表 预祝大家 快乐
小孩眺望远方,成人怀念故乡. 为此给大家分享一下珍藏的Python实战项目,祝大家节日快乐哦!!! Python 前言:不管学习哪门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说 ...
- python小程序源代码-整理了适合新手的20个Python练手小程序
100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 本文附带基础视频教程:私信回复[基础]就可以获取的 [程序1] ...
- python小程序-【Python精华】100个Python练手小程序
100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同 ...
- python经典案例-20个Python练手经典案例,能全做对的人确实很少!
100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 如果你感觉学不会?莫慌,小编推荐大家加入群, 前面548中间3 ...
- python小程序-整理了适合新手的20个Python练手小程序
即刻关注公众号,发现世界的美好 100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3 ...
- python练手经典100例微盘_20个Python练手经典案例,能全做对的人确实很少!
100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 如果你感觉学不会?莫慌,小编推荐大家加入群, 前面548中间3 ...
- python练手经典100例-20个Python练手经典案例,能全做对的人确实很少!
100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 私信小编007即可自动获取Python学习教程,包含视频教程以 ...
- python编程100个小程序-【Python精华】100个Python练手小程序
100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同 ...
- python编程100个小程序-整理了适合新手的20个Python练手小程序
即刻关注公众号,发现世界的美好 100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3 ...
- python练手经典100例-【Python精华】100个Python练手小程序
100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同 ...
最新文章
- Gitlab完整搭建手册+排错
- Nginx 从零搭建
- mysql服务器消失_MySQL服务器已经消失了
- MAC OS Sierra 10.12.6 下对固态硬盘SSD 开启TRIM功能
- 64位Ubuntu kylin 16.04搭建tftp服务器
- java 程序执行后 强制gc_GC 设计与停顿
- Springmvc,Spring MVC文件上传
- Uep的ajaxform和ajaxgrid组件获取数据源
- 重新安装python2.6 和 yum (不可以直接安装yum yum 依赖于python2.6)
- 8.22 NOIP模拟测试29(B) 爬山+学数数+七十和十七
- ACM程序设计基础题解
- docker学习3-虚拟网络模式
- spring boot 访问zul页面语言设置
- WIN7专业版32/64位更换系统语言注意
- SqList *L 和 SqList * L的一些理解以及多重指针的简单应用
- python自制网课答案查找器
- 操作系统的基本类型、工作流程及其优缺点
- 约瑟夫环 java_约瑟夫环的java实现
- 《千字文》 梁•周兴嗣
- python 因子分析 权重计算方法_如何使用Python(scikit-learn)计算FactorAnalysis得分?