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}

 

posted @ 2020-07-22 20:16  测试-安静  阅读(11689)  评论(0编辑  收藏  举报