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

devtools/2024/9/22 19:28:04/

文章目录

  • 键盘
  • 键盘——记忆宫殿
    • 入门——通过键盘发送一个字符串——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() 函数向计算机发送虚拟按键。


python">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()将向计算机发送虚拟的按键。

python">pyautogui.keyDown('shift');pyautogui.press('4');pyautogui.keyUp('shift')

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

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

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

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

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

python">pyautogui.keyUp('shift')

命令含义:释放Shift键。

在这里插入图片描述

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

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

python">pyautogui.keyDown('ctrl')
pyautogui.keyDown('c')
pyautogui.keyUp('c')
pyautogui.keyUp('ctrl')

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

python">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’):

python">>>> 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 中编写你自己的代码时,这是一个有用的技巧,应该知道)。

在这里插入图片描述


http://www.ppmy.cn/devtools/7530.html

相关文章

【智能算法】饥饿游戏搜索算法(HGS)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2021年,Yang等人受到自然界饥饿驱动的活动和动物的行为选择启发,提出了饥饿游戏搜索算法(Hunger Games Search, HGS)。 2.算法原理 2.1算法思想 HGS…

opencv的cmake报错

opencv编译报错 CMakeDownloadLog.txt #use_cache "D:/opencv/.cache" #do_unpack "ippicv_2021.8_win_intel64_20230330_general.zip" "71e4f58de939f0348ec7fb58ffb17dbf" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/1…

Linux 5.10 Pstore 学习之(二) 原理学习

目录 编译框架模块初始化pstore子系统ramoops模块初始化实例化注册回调数据结构 pstore_blk模块pstore_zone模块 测试扩展调试 编译框架 目标结构 linux_5.10/fs/pstore/ ├── blk.c ├── ftrace.c ├── inode.c // 核心1 ├── internal.h ├── Kconfig ├── …

stylus入门使用方法

Stylus 是一种富有表现力、动态的、健壮的 CSS 预处理器,它可以让你用更加高效、简洁的方式来编写 CSS。与其他 CSS 预处理器(如 Sass 和 Less)类似,Stylus 提供了变量、混合(mixins)、函数、条件语句和循环…

Android零基础入门(一)配置环境和安装Android Studio

闲来无事学一下Android,本人目前java为主,jdk的环境就不赘述了 配置环境 Java JDK5 或 以后版本 Android SDK Java运行时环境(JRE) Android Studio 你可以从 Oracle 的 Java 网站:JDKJava SE下载下载最新版本的 Jav…

百度沈抖:传统云计算不再是主角,智能计算呼唤新一代“操作系统”

Create 2024 百度AI开发者大会 4月16日,Create 2024 百度AI开发者大会在深圳召开。期间,百度集团执行副总裁、百度智能云事业群总裁沈抖正式发布新一代智能计算操作系统——万源,通过对AI原生时代的智能计算平台进行抽象与封装设计&#xff…

AI预测福彩3D➕体彩排3合并2024年4月21日预测结果

由于今天是周末,周末事情比较多,今天回来比较晚了,数据刚跑完,趁着离开奖还有一段时间,咱们还是把3D和排3的预测合并发布。好了,废话不多说,直接放结果吧~ 一.4月21日3D预测结果 …

JDK自带的线程池

1、newFixedThreadPool( 固定大小的线程池 ) 线程池的线程数量始终保持恒定,如果有线程由于异常结束,则线程池会补充新的线程。当线程池中的所有线程都处于活动状态时,新提交的任务将会等待,直到有线程空闲。 2、newCachedThrea…