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

前言

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")

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
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值