PyAutoGUI 键盘控制函数(2)

press(), keyDown(), and keyUp()

   上一篇博客说到,可以传递一个字符给typewrite()write()函数,当然不能实现类似F1Shift这种多字符键盘名的模拟敲击,因为会把字符串单个字符依次模拟输入。那么如果想要敲击F1Shift这种多字符键盘按键怎么办呢?
   当然有解决方案,press(), keyDown()keyUp()分别表示点击按键,按下按键,释放按键。press() 包括keyDown()keyUp()两个步骤。press(), keyDown()keyUp()均接受一个字符串参数,表示要按下的键,键名在pyautogui.KEYBOARD_KEYS中有定义,详见本博客附录。

>>> pyautogui.press('enter')  # press the Enter key
>>> pyautogui.press('f1')     # press the F1 key
>>> pyautogui.press('left')   # press the left arrow key

   注意press('f1')表示按F1按键write('f1')表示分别按F键和1键。

>>> pyautogui.keyDown('shift')  # hold down the shift key
>>> pyautogui.press('left')     # press the left arrow key
>>> pyautogui.press('left')     # press the left arrow key
>>> pyautogui.press('left')     # press the left arrow key
>>> pyautogui.keyUp('shift')    # release the shift key

   如果要连续按压多个按键,可以使用列表或者传递presses参数,例如连续按压3次左键:

>>> pyautogui.press(['left', 'left', 'left'])
>>> pyautogui.press('left', presses=3)

   当然可以添加延迟参数interval

>>> pyautogui.press(['left', 'left', 'left'],interval=1)
>>> pyautogui.press('left', presses=3,interval=1)

typewrite()

  例如:

>>> pyautogui.typewrite('Hello world!\n', interval=secs_between_keys)  # useful for entering text, newline is Enter

   interval参数用于指定每两个字符之间输入的时间间隔。当然可以存入列表,列表中每个元素表示要按下的键盘按键名,键盘列表见该博客末尾的附录。例如(先按a,再按b,再按c,再按<—,再按删除键,再按回车键,再按f1键):

>>> pyautogui.typewrite(['a', 'b', 'c', 'left', 'backspace', 'enter', 'f1'], interval=secs_between_keys)

   可见, typewrite()传递一个字符串和write()一样的功能,传递列表和press()实现相同功能。

附录

键盘名列表

KEY_NAMES = ["\t","\n","\r"," ","!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","accept","add","alt","altleft","altright","apps","backspace","browserback","browserfavorites","browserforward","browserhome","browserrefresh","browsersearch","browserstop","capslock","clear","convert","ctrl","ctrlleft","ctrlright","decimal","del","delete","divide","down","end","enter","esc","escape","execute","f1","f10","f11","f12","f13","f14","f15","f16","f17","f18","f19","f2","f20","f21","f22","f23","f24","f3","f4","f5","f6","f7","f8","f9","final","fn","hanguel","hangul","hanja","help","home","insert","junja","kana","kanji","launchapp1","launchapp2","launchmail","launchmediaselect","left","modechange","multiply","nexttrack","nonconvert","num0","num1","num2","num3","num4","num5","num6","num7","num8","num9","numlock","pagedown","pageup","pause","pgdn","pgup","playpause","prevtrack","print","printscreen","prntscrn","prtsc","prtscr","return","right","scrolllock","select","separator","shift","shiftleft","shiftright","sleep","space","stop","subtract","tab","up","volumedown","volumemute","volumeup","win","winleft","winright","yen","command","option","optionleft","optionright",
]

15 PyAutoGUI 键盘控制函数(2)相关推荐

  1. xps15java_2018戴尔XPS 15值得买吗?2018全新戴尔XPS 15磁悬浮键盘笔记本上手评测

    继去年的13英寸机型之后,在CES 2018上,戴尔又推出了全新的15英寸XPS  Windows 10二合一笔记本.2018款XPS15变形本并不是简单的放大,除了更加强劲的性能,它还有用一些独特的 ...

  2. Wayland入门15:键盘输入

    上一篇介绍了鼠标的相关操作,本文介绍键盘的相关操作. 使用的是标准的键盘库xkb,官网为:https://www.xkbcommon.org/. 先把上一篇的鼠标操作的部分复制过来. 注册并绑定键盘相 ...

  3. 【python】pyautogui键盘鼠标的自动操作

    主要功能是实现键盘和鼠标的自动操作,这里介绍一些常用函数 安装pyautogui,pip install pyautogui. 基本函数 pyautogui.PAUSE = 1 pyautogui.F ...

  4. pyautogui键盘无效

    import pyautogui, timepyautogui.PAUSE = 1 # 调用在执行动作后暂停的秒数,只能在执行一些pyautogui动作后才能使用,建议用time.sleep pyau ...

  5. pyautogui 鼠标键盘自动化 库的中文版

    PyAutoGUI--让所有GUI都自动化 原文: https://pyautogui.readthedocs.io/en/latest/ ,Python自动化工具,更适合处理GUI任务,网页任务推荐 ...

  6. Python控制鼠标和键盘-PyAutoGUI

    PyAutoGUI是用Python写的一个模块,使用它可以控制鼠标和键盘. 利用它可以实现自动化任务,再也不用担心有重复枯燥的任务了. pyautogui模块的功能: 移动鼠标.点击左右键和滚轮 发送 ...

  7. python使用笔记:pyautogui自动化控制鼠标和键盘

    标题 安装 获取当前屏幕分辨率 pyautogui鼠标操作 获取/移动鼠标位置 鼠标点击 鼠标拖拽 移动后按下/松开 滚轮 pyautogui键盘操作 提示信息 alert 弹窗 option 选择框 ...

  8. 通过python里面的pyautogui自动化控制鼠标和键盘操作

    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux). 安装 pip3 install pyautog ...

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

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

最新文章

  1. SQL操作语句中的注意点
  2. gcc compiler warning: “will be initialized after/when initialized here”
  3. ajax实现局部删除,Express+AdminLTE+hbs+Ajax实现局部刷新终极版(第二部分)
  4. python 之 string() 模块
  5. ASP.net 的URL路由选择(System.Web.Routing.dll)
  6. 《四 spring源码》spring的事务注解@Transactional 原理分析
  7. 很好用的查看PE文件的小工具---LordPE Deluxe 1.4 汉化版
  8. 独家发布全能在线语言翻译工具QTranslate v6.8.0 汉化中文版
  9. oracle建表语句
  10. 软件测试周刊(第63期):凡是持久的,必是温和的与可持续的。
  11. Android界面隐藏软键盘的探索(兼findViewById返回null解决办法)
  12. 内网域横向PTHPTKPTT哈希票据传递
  13. HFS+和HFSX的区别
  14. 希腊字母表__手写 拍照版
  15. laravel sail
  16. 基于JAVA门诊药品管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  17. 人人网技术部门完成上市后的重组
  18. ElasticSearch新版JavaClient使用简介
  19. Android Q(10.0 API29)版本新特性和兼容性适配
  20. Python获取桌面路径

热门文章

  1. 初探Spark-使用大数据分析2000W行数据
  2. AMCL 激光测量模型
  3. 自动点击器如何设置最快_淘宝开店,商家如何设置自动发货?
  4. android 大屏图表 MPAndroidChart 折线图 曲线图 柱状图 圆角柱状图 条形图
  5. 1018: 奇数偶数
  6. android22 system,有用的Android22一键ROOT权限(中兴U880为例)详细方法..doc
  7. oracle dg 体系结构,ORACLE DG 详解(oracle dataguard)
  8. mess组网 中继_Mesh组网技术登场,中继电力猫都弱爆了!
  9. c语言实现进行偶数素数分解
  10. 有哪些照片变漫画软件?这篇文章告诉你