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

前言

pywinauto 库支持通过 send_keys() 方法进行快捷键操作。以下是按键对应的符号和名称:

  • 代码语言:JavaScript
  • 代码运行次数:0
+

组合按键

按键 对应参数
Ctrl+S(保存) ^s
Ctrl+A(全选) ^a
Ctrl+Enter ^{ENTER}
Ctrl+Shift+S ^+s

快捷键操作

send_keys() 方法的相关源码如下:

  • 代码语言:JavaScript
  • 代码运行次数:0
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)

快捷键操作记事本示例

  • 代码语言:JavaScript
  • 代码运行次数:0
from pywinauto import Application from pywinauto.keyboard import send_keys <p>app = Application('uia').start("notepad.exe") win = app.window(title_re="无标题 - 记事本")</p><h1>ALT+F</h1><p>send_keys("%F")</p><h1>CTR+S</h1><p>send_keys("^S")

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

type_keys() 编辑框输入

在编辑框中输入键盘操作的示例:

  • 代码语言:JavaScript
  • 代码运行次数:0
from pywinauto import Application from pywinauto.keyboard import send_keys</p><p>app = Application('uia').start("notepad.exe") win = app.window(title_re="无标题 - 记事本")</p><h1>直接设置文本值</h1><p>win.child_window(title="文本编辑器").set_text("你好,世界!")</p><h1>回车</h1><p>win.child_window(title="文本编辑器").type_keys("{ENTER}")</p><h1>键盘输入</h1><p>win.child_window(title="文本编辑器").type_keys("hello world! 上海-悠悠")

set_text 和 type_keys 区别

set_text 方法直接设置输入框的文本值,光标会位于文本的最左边,按回车键后文本会被换行,但不支持快捷键操作。type_keys 方法模拟键盘字符输入,支持中文输入,光标位于文本的最右边,并且支持快捷键操作,推荐使用 type_keys。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享