找回密码
 会员注册
查看: 21|回复: 0

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

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
73222
发表于 2024-9-4 17:11:58 | 显示全部楼层 |阅读模式
文章目录键盘键盘——记忆宫殿入门——通过键盘发送一个字符串——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('Helloworld!')1命令说明:;:在同一行中放两条命令,用分号隔开,这让交互式环境不会在两个指令之间提示输入。这防止了你在click()和typewrite()调用之间,不小心让新的窗口获得焦点,从而让这个例子失败。命令含义:Python首先在坐标(100,100)处发出虚拟鼠标点击,这将点击文件编辑窗口,让它获得焦点。typewrite()函数调用将向窗口发送文本Helloworld!。常规——键名——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'PageUp和PageDown键'home','end'Home和End键'up','down','left','right'上下左右箭头键'f1','f2','f3'等F1至F12键'volumemute','volumedown','volumeup'静音、减小音量、放大音量键(有些键盘没有这些键,但你的操作系统仍能理解这些模拟的按键)‘pause’Pause键'capslock','numlock','scrollock'CapsLock,NumLock和ScrollLock键'insert'Ins或Insert键'printscreen'Prtsc或PrintScreen键'winleft','winright'左右Win键(在Windows上)'command'Command键(在OSX上)'option'Option键(在OSX上)常规——按下键盘——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键。要用pyautogui的keyDown()和keyUp()函数来做到这一点,必须输入以下代码:pyautogui.keyDown('ctrl')pyautogui.keyDown('c')pyautogui.keyUp('c')pyautogui.keyUp('ctrl')1234这相当复杂。作为替代,可以使用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文件编辑窗口,在交互式环境中输入以下内容(在OSX中,用‘ctrl’代替‘alt’):>>>importpyautogui,time>>>defcommentAfterDelay(): pyautogui.click(100,100) pyautogui.typewrite('InIDLE,Alt-3commentsoutaline.') time.sleep(2) pyautogui.hotkey('alt','3')>>>commentAfterDelay()1234567命令含义:这定义了一个函数commentAfterDelay(),在被调用时,将点击文件编辑窗口,让它获得焦点①,输出“InIDLE,Alt-3commentsoutaline”②,暂停2秒钟,然后模拟按下Alt-3热键(或OSX上的ctrl-3)③。这个快捷键在当前行加上两个#字符,将它注释掉(在IDLE中编写你自己的代码时,这是一个有用的技巧,应该知道)。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-12 20:01 , Processed in 0.529639 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表