上一篇介绍了pywinauto库中如何模拟鼠标操作,既然有鼠标,那么肯定有键盘。
模拟键盘操作
想要通过pywinauto模拟操作键盘,需要重新导入库 from pywinauto.keyboard import send_keys
我们想要模拟键盘操作,其实最终使用send_keys(个别朋友是不是看着特别熟悉?是不是想某地方的值?)
源码:
def send_keys(keys, pause=0.05, with_spaces=False, with_tabs=False, with_newlines=False, turn_off_numlock=True, vk_packet=True): """Parse the keys and type them""" keys = parse_keys( keys, with_spaces, with_tabs, with_newlines, vk_packet=vk_packet) for k in keys: k.run() time.sleep(pause) SendKeys = deprecated(send_keys)
这里安静先简单的写了个操作流程,大家可以看看
from pywinauto.keyboard import send_keys from pywinauto import Application import time app = Application().start('notepad.exe') # 通过支持的控件输入内容 app['无标题 - 记事本'].Edit.type_keys('测试-安静') time.sleep(2) # 回车 send_keys('{ENTER}') # F5 send_keys('{VK_F5}') # ctrl+a send_keys('^a')
这里安静对记事本进行了操作,打开记事本,输入测试-安静,然后进行回车换行,按下F5(这里的F5显示当前时间)最后进行全选操作

其实模拟操作键盘很简单,只是使用send_keys这个方法,大家可能不明白的就是如何进行书写键盘内容,其实和我们键盘内容输入一样即刻,可能有些需要加入VK
其他写法
比如我上面的输入法内容,我们也可以直接单独写在一起,这样执行也是没有问题的

特殊键盘
安静这里收集了一些特殊放啊,对应的符号
| 按键名称 | 对应符号 |
|---|---|
| SHIFT | + |
| CTRL | ^ |
| ALT | % |
| SPACE | {SPACE} |
| BACKSPACE | {BACKSPACE} {BS} or{BKSP} |
| BREAK | {BREAK} |
| CAPS LOCK | {CAPSLOCK} |
| DEL or DELETE | {DELETE} or {DEL} |
| DOWN ARROW | {DOWN} |
| END | {END} |
| ENTER | {ENTER} or ~ |
| ESC | {ESC} |
| HELP | {HELP} |
| HOME | {HOME} |
| INS or INSERT | {INSERT} or {INS} |
| LEFT ARROW | {LEFT} |
| NUM LOCK | {NUMLOCK} |
| PAGE DOWN | {PGDN} |
| PAGE UP | {PGUP} |
| PRINT SCREEN | {PRTSC} |
| RIGHT ARROW | {RIGHT} |
| SCROLL LOCK | {SCROLLLOCK} |
| TAB | {TAB} |
| UP ARROW | {UP} |
| + | {ADD} |
| - | {SUBTRACT} |
| * | {MULTIPLY} |
| / | {DIVIDE} |