windows 桌面GUI自动化- 10.pywinauto 键盘快捷键操作send_keys()
  iKXeBmqdRgYF 2023年11月05日 84 0

前言

pywinauto 快捷键操作,使用send_keys()方法

按键对应的符号

按键名称 对应符号

按键名称

对应符号

SHIFT

+

CTRL

^

ALT

%

SPACE

BACKSPACE

{BACKSPACE} {BS} or {BKSP}

BREAK

CAPS LOCK

DEL or DELETE

{DELETE} or {DEL}

DOWN ARROW

END

ENTER

{ENTER} or ~

ESC

HELP

HOME

INS or INSERT

{INSERT} or {INS}

LEFT ARROW

NUM LOCK

PAGE DOWN

PAGE UP

PRINT SCREEN

RIGHT ARROW

SCROLL LOCK

TAB

UP ARROW

+

-

*

/

组合按键

按键

对应参数

ctrl+s (保存)

^s

ctrl+a (全选)

^a

ctrl+ enter

^

ctrl+ shift+ s

^+s

快捷键操作

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 import Application
from pywinauto.keyboard import send_keys

app = Application('uia').start("notepad.exe")
win = app.window(title_re="无标题 - 记事本")

# ALT+F
send_keys("%F")
# CTR+S
send_keys("^S")

windows 桌面GUI自动化- 10.pywinauto 键盘快捷键操作send_keys()_编辑框

type_keys() 编辑框输入

在编辑框输入键盘操作

from pywinauto import Application
from pywinauto.keyboard import send_keys

app = Application('uia').start("notepad.exe")
win = app.window(title_re="无标题 - 记事本")

# 直接设置文本值
win.child_window(title="文本编辑器").set_text("你好,世界!")
# 回车
win.child_window(title="文本编辑器").type_keys("{ENTER}")
# # 键盘输入
win.child_window(title="文本编辑器").type_keys("hello world! 上海-悠悠")

set_text 和 type_keys 区别

  • set_text 是直接给输入框设置文本值,光标在最左边,按enter后,文本被换行, 不支持快捷键
  • type_keys 模拟键盘字符的输入,可以支持中文,光标在最右边,支持快捷键,推荐用type_keys



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
iKXeBmqdRgYF