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实现鼠标键盘控制相关推荐

  1. python截图工具和模拟鼠标键盘_python PyAutoGUI 模拟鼠标键盘操作和截屏功能

    简介 一款跨平台/无依赖的自动化测试工具,目测只能控制鼠标/键盘/获取屏幕尺寸/弹出消息框/截屏. 安装 pip install pyautogui 鼠标键盘控制 >>> impor ...

  2. python热键+鼠标键盘控制

    python热键+鼠标键盘控制 应用:ctrl+home自动输入文本:home停止 代码:hotkey 应用:ctrl+home自动输入文本:home停止 代码:hotkey #!/usr/bin/e ...

  3. python PyAutoGUI 模拟鼠标键盘操作和截屏

    简介 一款跨平台/无依赖的自动化测试工具,目测只能控制鼠标/键盘/获取屏幕尺寸/弹出消息框/截屏. 安装 pip install pyautogui 鼠标键盘控制 >>> impor ...

  4. python --pyautogui(模拟鼠标键盘操作)

    安装 pip install pyautogui 官网 https://pyautogui.readthedocs.io/en/latest/ 参考文章1 参考文章2 详解 自动防故障 pyautog ...

  5. Mouse Without Borders 一套鼠标键盘控制多台电脑

    当我的桌子上除了笔记本之外还多了一个台式机后,两个鼠标,两个键盘就显得十分多余,于是开始探索怎样用一套鼠标键盘控制多台电脑... 首先搜到的是这玩意--KVM切换器 在他49个赞的诱惑下,我还去淘宝搜 ...

  6. openGL绘制带纹理地球,并实现鼠标键盘控制

    openGL系列文章目录 文章目录 openGL系列文章目录 前言 一.绘制球体 二.关键代码 球体类(Sphere) 主函数 顶点着色器 片元着色器 显示效果 源码下载 参考 前言 openGL绘制 ...

  7. android 键盘使用教程,用鼠标键盘控制你的Android手机完整图文教程

    网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都可以的,下面给出我的步骤及过程中遇到的几个小问题,供大家参考! 一.鼠标键盘控制手机教程 1.在PC上,安装豌豆荚, ...

  8. android usb鼠标,用鼠标键盘控制你的Android手机完整图文教程

    网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都可以的,下面给出我的步骤及过程中遇到的几个小问题,供大家参考! 一.鼠标键盘控制手机教程 1.在PC上,安装豌豆荚, ...

  9. android键盘管理,用鼠标键盘控制你的Android手机完整图文教程

    32路伺服电机控制器V3.0 官方安装版 类型:编程辅助大小:15.0M语言:中文 评分:7.5 标签: 立即下载 网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都 ...

  10. 一套鼠标键盘控制两台电脑-绝!

    Oliver's R&D Lab C/C++/Linux 一套鼠标键盘控制两台电脑-绝! 这个工具是推荐给双电脑工作人员的,不是的就不用往下看了,嗯. synergy-----按照它主页( h ...

最新文章

  1. 让latex写论文更方便的几个工具
  2. Redis 6.0 新特性,多线程连环 13 问!
  3. 《简明 PHP 教程》01 关于 PHP
  4. 第5章 批量主机扫描 nmap、ncat
  5. 企业员工工资管理系统
  6. Java容易搞错的知识点
  7. Silverlight客户端和WCF服务器端共享类库
  8. vmware 网络连接方式的说明
  9. pandas 批量修改列名_十分钟想搞定pandas?
  10. 《Joel On Software》读后
  11. D8 NOTES 2018-10-17
  12. 元宇宙持续火爆,这些问题值得思考和警惕!
  13. Swift UIView代码控制隐藏与显示
  14. 文字转语音:CyberBukit TTS for php 1.2.3
  15. PPT绘论文图之导出分辨率
  16. 宁德时代发布第一代钠离子电池;霍尼韦尔宣布多项全球性高管人事任命 | 美通社头条...
  17. NameValuePair和BasicNameValuePair的关系
  18. 微信小程序 27 进度条的动态实现和搜索框、热搜榜的静态搭建
  19. 英语四级口语资料整理——自我介绍篇
  20. javascript为数字添加千分符

热门文章

  1. WINVNC源码分析(三)——omni_thread库
  2. 华硕bios更改固态硬盘启动_华硕bios怎么设置固态硬盘为第一启动项
  3. 谈谈Oracle甲骨文可视化文件查看器:AutoVue
  4. 国防科大计算机学院贾焰,博士群体竞风流——记国防科大教员队伍的变化
  5. 机考[51 - 60]
  6. Vue-报错1(命名规范)
  7. 苹果android系统版本,给Mac装上的Android系统?Remix OS PC版
  8. 天线3db波束宽度_波束宽度
  9. win7电脑怎么伪装ip地址【系统天地】
  10. 全景视频预测头部移动-Predicting Head Movement in Panoramic Video: A Deep Reinforcement Learning Approach