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}
  • 相关阅读:
    android 中文 api (43) —— Chronometer
    SVN客户端清除密码
    Android 中文 API (35) —— ImageSwitcher
    Android 中文API (46) —— SimpleAdapter
    Android 中文 API (28) —— CheckedTextView
    Android 中文 API (36) —— Toast
    Android 中文 API (29) —— CompoundButton
    android 中文 API (41) —— RatingBar.OnRatingBarChangeListener
    Android 中文 API (30) —— CompoundButton.OnCheckedChangeListener
    Android 中文 API (24) —— MultiAutoCompleteTextView.CommaTokenizer
  • 原文地址:https://www.cnblogs.com/qican/p/13360413.html
Copyright © 2011-2022 走看看