• python-自动化篇-终极工具-用GUI自动控制键盘和鼠标-pyautogui-键盘


    键盘

    pyautogui也有一些函数向计算机发送虚拟按键,让你能够填充表格,或在应用中输入文本。

    键盘——记忆宫殿

    typewrite(message)键入给定消息字符串中的字符。——type+write:字符+输入
    typewrite([key1,key2,key3])键入给定键字符串。
    press(key)按下并释放给定键。——press:释放
    keyDown(key)模拟按下给定键。——key+down:按键+下
    keyUp(key)模拟释放给定键。——key+up:按键+上
    hotkey([key1,key2,key3])模拟按顺序按下给定键字符串,然后以相反的顺序释放。——hot+key:热+按键

    入门——通过键盘发送一个字符串——typewrite()

    pyautogui.typewrite() 函数向计算机发送虚拟按键。


    pyautogui.click(100,100); pyautogui.typewrite('Hello world!')
    
    • 1

    命令说明
    :在同一行中放两条命令,用分号隔开,这让交互式环境不会在两个指令之间提示输入。这防止了你在 click()typewrite() 调用之间,不小心让新的窗口获得焦点,从而让这个例子失败。

    命令含义
    Python 首先在坐标(100,100)处发出虚拟鼠标点击,这将点击文件编辑窗口,让它获得焦点。typewrite() 函数调用将向窗口发送文本 Hello world!。

    在这里插入图片描述


    常规——键名——typewrite()

    可以查看 pyautogui.KEYBOARD_KEYS 列表,看看 pyautogui 接受的所有可能的键字符串。‘shift’ 字符串指的是左边的 Shift 键,它等价于’shiftleft’。‘ctrl’、‘alt’ 和 ‘win’ 字符串也一样,它们都是指左边的键。

    PyKeyboard属性
    键盘键字符串 含义
    'a','b','c','A','B','C','1','2','3','!','@','#'单个字符的键
    'enter'(or 'return' or '\n')回车键
    'esc'Esc键
    'shiftleft','shiftright'左右Shift键
    'altleft','altright'左右Alt键
    'ctrlleft','ctrlright'左右Ctrl键
    'tab'(or '\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','scrollock'Caps Lock,Num Lock和Scroll Lock键
    'insert'Ins或Insert键
    'printscreen'Prtsc或Print Screen键
    'winleft','winright'左右Win键(在Windows上)
    'command'Command键(在OS X上)
    'option'Option键(在OS X上)

    常规——按下键盘——keyDown()

    命令说明
    pyautogui.keyDown()将向计算机发送虚拟的按键。

    pyautogui.keyDown('shift');pyautogui.press('4');pyautogui.keyUp('shift')
    
    • 1

    命令含义
    这行代码按下 Shift,按下(并释放)4,然后再释放 Shift。如果你需要在文本输入框内打一个字符串,typewrite() 函数就更适合。但对于接受单个按键命令的应用,press() 函数是更简单的方式。

    cmd执行时注意事项
    在这里插入图片描述

    cmd效果如下
    在这里插入图片描述
    效果说明
    执行第二条命令,出现效果:$,即实现“按下 Shift,按下(并释放)4,然后再释放 Shift”的效果。

    常规——释放键盘——keyUp()

    pyautogui.keyUp()将向计算机发送虚拟的释放。

    pyautogui.keyUp('shift')
    
    • 1

    命令含义:释放Shift键。

    在这里插入图片描述

    升级——热键组合——hotkey()

    “热键”或“快捷键”是一种按键组合,它调用某种应用功能。拷贝选择内容的常用热键是Ctrl-C(在 Windows 和 Linux 上)。用户按住Ctrl键,然后按C键,然后释放C和Ctrl键。要用pyautoguikeyDown()keyUp() 函数来做到这一点,必须输入以下代码:

    pyautogui.keyDown('ctrl')
    pyautogui.keyDown('c')
    pyautogui.keyUp('c')
    pyautogui.keyUp('ctrl')
    
    • 1
    • 2
    • 3
    • 4

    这相当复杂。作为替代,可以使用 pyautogui.hotkey() 函数,它接受多个键字符串参数,按顺序按下,再按相反的顺序释放。例如对于 Ctrl-C,代码就像下面这样简单:

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

    报错
    在这里插入图片描述

    对于更大的热键组合,这个函数特别有用。在 Word 中,Ctrl-Alt-Shift-S 热键组合显示 Style(样式)窗口。不必使用 8 次不同的函数调用(4 次 keyDown() 调用和4 次 keyUp() 调用),你只要调用 hotkey('ctrl', 'alt', 'shift', 's')
    在屏幕的左上角打开一个新的 IDLE 文件编辑窗口,在交互式环境中输入以下内容(在 OS X 中,用 ‘ctrl’ 代替 ‘alt’):

    >>> import pyautogui, time
    >>> def commentAfterDelay():
    		pyautogui.click(100, 100)
    		pyautogui.typewrite('In IDLE, Alt-3 comments out a line.')
    		time.sleep(2) 
    		pyautogui.hotkey('alt', '3')
    >>> commentAfterDelay()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    命令含义:这定义了一个函数commentAfterDelay(),在被调用时,将点击文件编辑窗口,让它获得焦点①,输出“In IDLE,Alt-3 comments out a line”②,暂停2秒钟,然后模拟按下 Alt-3 热键(或 OS X 上的 ctrl-3)③。这个快捷键在当前行加上两个#字符,将它注释掉(在 IDLE 中编写你自己的代码时,这是一个有用的技巧,应该知道)。

    在这里插入图片描述

  • 相关阅读:
    CHAPTER 4: DESIGN A RATE LIMITER
    浅谈风力发电场集中监控系统解决方案
    【服装设计作品】黑白灰中国风礼服,也能惊艳全场!
    【学习QT必备的C++基础】C++类和对象
    lwIP - A Lightweight TCP/IP stack
    android开发电子书,android基础编程
    [UEFI]EFI_DEVICE_PATH_PROTOCOL 结构体初始化的一个例子
    作业帮运维负责人聂安:云原生时代运维转型之道
    vue-:visible.sync的作用
    mongodb安装及使用
  • 原文地址:https://blog.csdn.net/stqer/article/details/137912519