使用 python pyautogui实现鼠标键盘控制功能


Posted in Python onAugust 04, 2019

pyautogui是一个可以控制鼠标和键盘的python库,类似的还有pywin32。

pyautogui的安装

pip3 install python3-xlib 依赖库 sudo apt-get install scrot 依赖库 pip3 install pyautogui python3下安装pyautogui库 import pyautogui 引入该库

pyautogui的方法保护措施

为了防止pyautogui夺取了鼠标的控制权导致我们无法关掉该程序,它提供了一个保护措施,即把鼠标移到最左上角,此时程序报错退出;

默认FAILSAFE=True,保护模式开启

FAILSAFE = False 关闭保护措施

获取屏幕信息

size() 获取当前屏幕的分辨率,如(1920,1080)二元组

注意:屏幕左上角是原点(0,0),整个屏幕相当于第一象限

position() 获取鼠标当前坐标

onScreen(x,y) 判断点(x,y)是否在屏幕范围内,如负值一定返回False

移动鼠标

moveTo(x,y,duration=0.25) 用0.25s的时间将鼠标移到(x,y)位置 moveRel(x,y,duration=0.25) 以鼠标所在位置为原点,将鼠标移动到(x,y)处

下面代码,让鼠标在指定位置绕一个正方形转动10圈

import pyautogui
for i in range(10):
 pyautogui.moveTo(300, 300, duration=0.25)
 pyautogui.moveTo(400, 300, duration=0.25)
 pyautogui.moveTo(400, 400, duration=0.25)
 pyautogui.moveTo(300, 400, duration=0.25)

下面代码,让鼠标绕当前位置绕正方形转10圈

import pyautogui
for i in range(10):
 pyautogui.moveRel(100, 0, duration=0.25)
 pyautogui.moveRel(0, 100, duration=0.25)
 pyautogui.moveRel(-100, 0, duration=0.25)
 pyautogui.moveRel(0, -100, duration=0.25)

鼠标事件

点击鼠标

click(x, y, button='left', click=3, interval=0.5)

button有3个选项:left,middle,right,不加则默认点击鼠标左键click表示单击次数interval表示每次单击之间的时间间隔click()函数实际由mouseDown()和mouseUp()组成,即按下和松开;

pyautogui.doubleClick() 鼠标双击,其实就是执行两次click()函数。 pyautogui.rightClick() 右击 pyautogui.middleClick() 中击

鼠标滚轮

scroll(200) 控制鼠标的滚轮,正值上滚,负值下滚

拖拽鼠标

dragTo() dragRel()

按下鼠标,并拖拽到指定位置,用法同moveTo(),moveRel()窗口截图处理、寻找目标按钮截图功能

im = screenshot( region=(x,y,width,heigth) ) 截取以(x,y)为左上角且指定宽高的区域,不加参数,默认截取整个屏幕

im.getpixel( (x,y) ) 获取指定位置的像素,是一个三元组(注意输入格式) pixelMatchesColor(x,y,(R,G,B)) 判断(x,y)处的像素是否等于RGB im.save('xx.png') 保存为x.png

寻找按钮

locateOnscreen('xx.png') 寻找屏幕中和xx.png一样的图标位置,是一个四元组 click( center( locateOnscreen('xx.png') ) ) 点击该图标的中心,center用来获取图标中心点的坐标

比如把网易云音乐的应用存为music.png,上述就执行自动点击网易云的图标

总结

以上所述是小编给大家介绍的python中的pyautogui实现鼠标键盘控制功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
Python中实现结构相似的函数调用方法
Mar 10 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
Apr 28 Python
python实现求特征选择的信息增益
Dec 18 Python
python实现祝福弹窗效果
Apr 07 Python
python如何解析配置文件并应用到项目中
Jun 27 Python
Python pip替换为阿里源的方法步骤
Jul 02 Python
python opencv将表格图片按照表格框线分割和识别
Oct 30 Python
Python中断多重循环的几种方式详解
Feb 10 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 Python
cookies应对python反爬虫知识点详解
Nov 25 Python
python绘制汉诺塔
Mar 01 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
Nov 11 Python
Python 实现遥感影像波段组合的示例代码
Aug 04 #Python
PyQtGraph在pyqt中的应用及安装过程
Aug 04 #Python
详解用python生成随机数的几种方法
Aug 04 #Python
python下PyGame的下载与安装过程及遇到问题
Aug 04 #Python
python中pygame安装过程(超级详细)
Aug 04 #Python
浅谈python图片处理Image和skimage的区别
Aug 04 #Python
Python下opencv图像阈值处理的使用笔记
Aug 04 #Python
You might like
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
基于jquery的tab切换 js原理
2010/04/01 Javascript
JavaScript中清空数组的三种方法分享
2011/04/07 Javascript
读jQuery之四(优雅的迭代)
2011/06/20 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
Python的面向对象思想分析
2015/01/14 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
银行简历自我评价
2014/02/11 职场文书
租房协议书怎么写
2014/04/10 职场文书
2014年社区重阳节活动策划方案
2014/09/16 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
追悼会答谢词范文
2015/09/29 职场文书