使用 python pyautogui实现鼠标键盘控制功能
作者:luhao19980909 发布时间:2023-11-17 07:01:41
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实现鼠标键盘控制功能,希望对大家有所帮助.
来源:https://blog.csdn.net/luhao19980909/article/details/90614288
猜你喜欢
- 如何显示一个等待或欢迎信息? <% Response.Buffer = True %
- django模板使用media文件夹,想要在前端通过{{ MEDIA_URL }}无法显示图片,没有取到Media_url的值解决办法:TE
- 本文记录,如何使用 Python 来抓取,图片或者文件的,创建日期,修改日期1. 读取照片创建日期(._getexif())from PIL
- 那里都有狭窄的空间:网页横幅、新闻标题处的空间、柱状的广告,但一张来自照相机的照片却要大很多,它们的比例一般是 6 × 4 英寸 。你如何处
- 负责为网页编程语言提供标准化服务的W3C组织(World Wide Web Consortium)近日开始修改超文本标记语言的定义,计划为该
- 1.什么是Javascript?Javascript是一种用于Web开发的编程语言。JavaScript在网络的客户端上运行。根据MDN,J
- 各位大家好!很荣幸能在这里和大家聊聊!(*^__^*) 嘻嘻……此处省略488字,切入正题。关于网页设计这个行业,在中国来讲这个行业并不成熟
- 由Oralce8.1开始,Oracle增加了一个新的特性就是Stored Outlines,或者称为Plan Stability(计划稳定性
- 作者:Robert Lair and Jason Lefebvr Intensity Software, Inc.
- 以前在介绍SQL2k的时候已经提到了SQL2k对XML的支持,使用for XML语句就可以很容易的把执行的结果转化为一个XML,这样可以在很
- 以XML格式查看查询结果通过使用传统—xml 选项调用MySQL命令行客户程序,你可以以XML格式(而不是传统的列表形式
- JavaScript中有很多内部属性和方法,在大多数情况下,只有JavaScript引擎才可以访问,但不论什么都是有特例的,在这里就是指Mo
- 本文实例讲述了php实现的美国50个州选择列表。分享给大家供大家参考。具体如下:这里展示的是php生成的美国50个州的选择列表,自动选择当前
- 把程序重新写了一遍,日期下拉选择器,可自定义日期范围。使用了一个技巧获取指定月份的天数。演示页面:DateSelector.htm 程序代码
- 如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。1. 向mysqld server 发
- COM接口VC实现,接口: [id(1), helpstring("method Test"
- 在安装wordpress的时候,按照里面的readme.html的步骤进行安装,但是在访问wp-admin/install.php的时候就出
- 为了测试某个服务的稳定性,通常需要在服务长时间运行的情况下,监控其资源消耗情况,比如cpu和内存使用这里借助python的psutil这个包
- ASP生成柱型体,折线图,饼图源代码。一:纯ASP代码生成图表函数2——折线图;二:纯ASP代码生成图表函数1——柱状图 ;三:纯
- 到2019年初,Python3已经更新到了Python