zoukankan      html  css  js  c++  java
  • 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}
  • 相关阅读:
    react-native-code-push进阶及实践小结
    Redux 基础
    iOS启动图异常修复方案 -(baidu)
    pod init
    Texture的异步渲染和布局引擎
    iOS 12.1 Tabbar 跳动Bug
    基本绘图的几种方式
    OC 小代码块
    OC基础--类的本质
    OC基础--构造方法 id类型
  • 原文地址:https://www.cnblogs.com/qican/p/13360413.html
Copyright © 2011-2022 走看看