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

本文主要是介绍python-自动化篇-终极工具-用GUI自动控制键盘和鼠标-pyautogui-键盘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 键盘
  • 键盘——记忆宫殿
    • 入门——通过键盘发送一个字符串——typewrite()
    • 常规——键名——typewrite()
    • 常规——按下键盘——keyDown()
    • 常规——释放键盘——keyUp()
    • 升级——热键组合——hotkey()

键盘

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!')

命令说明
:在同一行中放两条命令,用分号隔开,这让交互式环境不会在两个指令之间提示输入。这防止了你在 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')

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

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

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

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

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

pyautogui.keyUp('shift')

命令含义:释放Shift键。

在这里插入图片描述

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

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

pyautogui.keyDown('ctrl')
pyautogui.keyDown('c')
pyautogui.keyUp('c')
pyautogui.keyUp('ctrl')

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

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

报错
在这里插入图片描述

对于更大的热键组合,这个函数特别有用。在 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()

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

在这里插入图片描述

这篇关于python-自动化篇-终极工具-用GUI自动控制键盘和鼠标-pyautogui-键盘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/924645

相关文章

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调