PyAutoGUI——让所有GUI都自动化

安装代码:pip install pyautogui

1.简介

1.1 目的

PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux)。可以用pip安装,Github上有源代码。

下面的代码让鼠标移到屏幕中央。import pyautogui

screenWidth, screenHeight = pyautogui.size()

pyautogui.moveTo(screenWidth / 2, screenHeight / 2)

PyAutoGUI可以模拟鼠标的移动、点击、拖拽,键盘按键输入、按住操作,以及鼠标+键盘的热键同时按住等操作,可以说手能动的都可以。

pyautogui基础操作样例import pyautogui

# 获取当前屏幕分辨率

screenWidth, screenHeight = pyautogui.size()

# 获取当前鼠标位置

currentMouseX, currentMouseY = pyautogui.position()

# 鼠标移动坐标为100,100位置 绝对移动

pyautogui.moveTo(100, 100)

# 鼠标左击

pyautogui.click()

# 鼠标乡下移动 相对移动

pyautogui.moveRel(None, 10)

# 鼠标双击

pyautogui.doubleClick()

# 用缓动/渐变函数让鼠标2秒后移动到(500,500)位置

# use tweening/easing function to move mouse over 2 seconds.

pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.easeInOutQuad)

# 在每次输入之间暂停0.25秒

pyautogui.typewrite('Hello world!', interval=0.25)

# 键盘点击esc

pyautogui.press('esc')

# 按住shift键

pyautogui.keyDown('shift')

pyautogui.press(['left', 'left', 'left', 'left', 'left', 'left'])

# 放开shift键

pyautogui.keyUp('shift')

pyautogui.hotkey('ctrl', 'c')

PyAutoGUI键盘表:‘enter’(或‘return’或‘\n’)回车

‘esc’ESC键

‘shiftleft’,‘shiftright’左右SHIFT键

‘altleft’,‘altright’左右ALT键

‘ctrlleft’,‘ctrlright’左右CTRL键

‘tab’(‘\t’)TAB键

‘backspace’,‘delete’BACKSPACE、DELETE键

‘pageup’,‘pagedown’PAGE UP和PAGE DOWN键

‘home’,‘end’HOME和END键

‘up’,‘down’,‘left’,‘right’箭头键

‘f1’,‘f2’,‘f3’….F1…….F12键

‘volumemute’,‘volumedown’,‘volumeup’有些键盘没有

‘pause’PAUSE键

‘capslock’,‘numlock’,‘scrolllock’CAPS LOCK,NUM LOCK, 和SCROLL LOCK键

‘insert’INS或INSERT键

‘printscreen’PRTSC或PRINT SCREEN键

‘winleft’,‘winright’Win键

‘command’Mac OS X command键

文档:

https://muxuezi.github.io/posts/doc-pyautogui.html

http://www.chenxm.cc/post/633.html

python方向键控制角色_Python控制鼠标和键盘-PyAutoGUI用法详解相关推荐

  1. Python控制鼠标和键盘-PyAutoGUI用法详解

    PyAutoGUI--让所有GUI都自动化 安装命令: pip install pyautogui 1.简介 1.1 目的 PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序 ...

  2. python中mat函数_Python中flatten( )函数及函数用法详解

    flatten()函数用法 flatten是numpy.ndarray.flatten的一个函数,即返回一个一维数组. flatten只能适用于numpy对象,即array或者mat,普通的list列 ...

  3. python适配器模式角色_Python设计模式之适配器模式原理与用法详解

    本文实例讲述了Python设计模式之适配器模式原理与用法.分享给大家供大家参考,具体如下: 适配器模式(Adapter Pattern):将一个类的接口转换成为客户希望的另外一个接口. 下面是一个适配 ...

  4. python中seek(10、1)_Python中index()和seek()的用法(详解)

    1.index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如: >>> t=tuple('Allen') >>> t ('A', 'l ...

  5. python中index什么意思_Python中index()和seek()的用法(详解)

    1.index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如: >>> t=tuple('Allen') >>> t ('A', 'l ...

  6. python scatter参数详解_Python中scatter函数参数及用法详解

    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...

  7. python字符串strip的作用_Python字符串函数strip()原理及用法详解

    Python字符串函数strip()原理及用法详解 strip:用于移除字符串头尾指定的字符(默认为空格)或字符序列.注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符. 语法:str.s ...

  8. python scatter参数详解_Python 中 scatter 函数参数及用法详解

    Python 中 scatter 函数参数及用法详解 Python 中 scatter 函数参数及用法详解 这里有新鲜出炉的 Python 教程, 程序狗速度看过来! Python 编程语言 Pyth ...

  9. python中global和def_Python中 Global和Nonlocal的用法详解

    nonlocal 和 global 也很容易混淆.简单记录下自己的理解. 解释 global 总之一句话,作用域是全局的,就是会修改这个变量对应地址的值. global 语句是一个声明,它适用于整个当 ...

最新文章

  1. 经典压缩软件7-Zip首次登陆Linux免费开源!
  2. Android--ViewPager点击按钮切换下一页
  3. Destroy it!
  4. HTML特殊编码转换
  5. Matlab-OpenCV-VC-混合编程配置
  6. idea如何连接本地mysql_IDEA如何连接MYSQL
  7. 微信小程序 android内存暂用,微信小程序与手机APP占用内存 流量消耗对比介绍
  8. 实现公告板和本周热卖功能
  9. android switch自定义样式,Android自定义Switch样式
  10. Java: RandomAccessFile
  11. 万圣节| Huluween“魔幻洞窟”闯关之夜
  12. 500次 “LOVE“的歌词 Taylor Swift歌词数据可视化分享
  13. 【Active Learning - 12】一种基于生成对抗网络的二阶段主动学习方法
  14. 二维数组malloc申请空间以及初始化方式
  15. html导出excel合并单元格,JS导出EXCEL,动态设置单元格格式,合并单元格(横向或纵向)等操作...
  16. 2411681-89-3,Thalidomide-O-amido-PEG4-azide是一种PROTAC连接剂,通过点击化学与炔烃或DBCO、BCN连接的分子反应
  17. js 排班插件_js jquery 实现 排班,轮班,日历,日程。使用fullcalendar 插件
  18. apache与php乱码
  19. JSP-----------简易购物车代码
  20. java 三点定位_GPS定位系统(三)——Java后端

热门文章

  1. channel.php id,channel.php
  2. 销售员哪些说话方式受欢迎?
  3. SCROLL LOCK
  4. 人际交往中的9个锦囊妙计,书呆子也能学会!
  5. 中原工学院计算机科学院,刘卫光 - 中原工学院 - 计算机学院
  6. 批量修改图片名及批量进行图像数据预处理
  7. 数字签名技术 -- DSA算法
  8. java 视图_Java 视图
  9. Armory3D游戏引擎运行armory_templates等工程报key Principled BSDF not found错误
  10. 天道佩恩-使用android制作轮回眼效果