上一篇介绍了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} |
来源:oschina
链接:https://my.oschina.net/u/4365870/blog/4422568