python之pyautogui实现鼠标键盘控制
python之pyautogui实现鼠标键盘控制
参考网址:https://www.cnblogs.com/dcb3688/p/4607980.html
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 PyAutoGUI 模拟鼠标键盘操作和截屏功能
简介 一款跨平台/无依赖的自动化测试工具,目测只能控制鼠标/键盘/获取屏幕尺寸/弹出消息框/截屏. 安装 pip install pyautogui 鼠标键盘控制 >>> impor ...
- python热键+鼠标键盘控制
python热键+鼠标键盘控制 应用:ctrl+home自动输入文本:home停止 代码:hotkey 应用:ctrl+home自动输入文本:home停止 代码:hotkey #!/usr/bin/e ...
- python PyAutoGUI 模拟鼠标键盘操作和截屏
简介 一款跨平台/无依赖的自动化测试工具,目测只能控制鼠标/键盘/获取屏幕尺寸/弹出消息框/截屏. 安装 pip install pyautogui 鼠标键盘控制 >>> impor ...
- python --pyautogui(模拟鼠标键盘操作)
安装 pip install pyautogui 官网 https://pyautogui.readthedocs.io/en/latest/ 参考文章1 参考文章2 详解 自动防故障 pyautog ...
- Mouse Without Borders 一套鼠标键盘控制多台电脑
当我的桌子上除了笔记本之外还多了一个台式机后,两个鼠标,两个键盘就显得十分多余,于是开始探索怎样用一套鼠标键盘控制多台电脑... 首先搜到的是这玩意--KVM切换器 在他49个赞的诱惑下,我还去淘宝搜 ...
- openGL绘制带纹理地球,并实现鼠标键盘控制
openGL系列文章目录 文章目录 openGL系列文章目录 前言 一.绘制球体 二.关键代码 球体类(Sphere) 主函数 顶点着色器 片元着色器 显示效果 源码下载 参考 前言 openGL绘制 ...
- android 键盘使用教程,用鼠标键盘控制你的Android手机完整图文教程
网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都可以的,下面给出我的步骤及过程中遇到的几个小问题,供大家参考! 一.鼠标键盘控制手机教程 1.在PC上,安装豌豆荚, ...
- android usb鼠标,用鼠标键盘控制你的Android手机完整图文教程
网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都可以的,下面给出我的步骤及过程中遇到的几个小问题,供大家参考! 一.鼠标键盘控制手机教程 1.在PC上,安装豌豆荚, ...
- android键盘管理,用鼠标键盘控制你的Android手机完整图文教程
32路伺服电机控制器V3.0 官方安装版 类型:编程辅助大小:15.0M语言:中文 评分:7.5 标签: 立即下载 网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都 ...
- 一套鼠标键盘控制两台电脑-绝!
Oliver's R&D Lab C/C++/Linux 一套鼠标键盘控制两台电脑-绝! 这个工具是推荐给双电脑工作人员的,不是的就不用往下看了,嗯. synergy-----按照它主页( h ...
最新文章
- 让latex写论文更方便的几个工具
- Redis 6.0 新特性,多线程连环 13 问!
- 《简明 PHP 教程》01 关于 PHP
- 第5章 批量主机扫描 nmap、ncat
- 企业员工工资管理系统
- Java容易搞错的知识点
- Silverlight客户端和WCF服务器端共享类库
- vmware 网络连接方式的说明
- pandas 批量修改列名_十分钟想搞定pandas?
- 《Joel On Software》读后
- D8 NOTES 2018-10-17
- 元宇宙持续火爆,这些问题值得思考和警惕!
- Swift UIView代码控制隐藏与显示
- 文字转语音:CyberBukit TTS for php 1.2.3
- PPT绘论文图之导出分辨率
- 宁德时代发布第一代钠离子电池;霍尼韦尔宣布多项全球性高管人事任命 | 美通社头条...
- NameValuePair和BasicNameValuePair的关系
- 微信小程序 27 进度条的动态实现和搜索框、热搜榜的静态搭建
- 英语四级口语资料整理——自我介绍篇
- javascript为数字添加千分符
热门文章
- WINVNC源码分析(三)——omni_thread库
- 华硕bios更改固态硬盘启动_华硕bios怎么设置固态硬盘为第一启动项
- 谈谈Oracle甲骨文可视化文件查看器:AutoVue
- 国防科大计算机学院贾焰,博士群体竞风流——记国防科大教员队伍的变化
- 机考[51 - 60]
- Vue-报错1(命名规范)
- 苹果android系统版本,给Mac装上的Android系统?Remix OS PC版
- 天线3db波束宽度_波束宽度
- win7电脑怎么伪装ip地址【系统天地】
- 全景视频预测头部移动-Predicting Head Movement in Panoramic Video: A Deep Reinforcement Learning Approach