pywinauto客户端自动化---模拟键盘操作
上一篇介绍了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} |