用法
如果在自动化操作过程中需要使用到快捷键,可以使用send_key完成操作。
send_key与input_hotkey(详见 input_hotkey用法和虚拟键码清单)的差异:
运行效果:send_key和input_hotkey能够实现的键盘操作效果基本一致
使用差异
input_hotkey需要在指定的控件上执行、执行效果更加准确和可控
send_key不依赖控件,在当前窗口或光标位置输入,需要自动化流程的前面步骤控制好光标位置。
推荐优先使用input_hotkey
编码开发模式中,可使用 send_key。
可视化开发模式中,可使用 输入热键组件。
示例可参考 使用CV模式操作钉钉客户端发送消息。
以编码开发模式为例,更多的使用方式如下:
组合按键
简码形式
使用示例
效果
^{a}
send_key("^{A}")
Ctrl + A
!{a}
send_key("!{A}")
Alt + A
+{a}
send_key("+{A}")
Shift + A
#{R}
send_key("#{R}")
WIN + R
^+{S}
send_key("^+{S}")
Ctrl + Shift +S
按住某个键
# 按住按键 A rpa.ui.win32.send_key("{A DOWN}") # 松开按键 A rpa.ui.win32.send_key("{A UP}")重复按键
# 连续4次按下 DEL 键 rpa.ui.win32.send_key("{DEL 4}") # 连续按30个S rpa.ui.win32.send_key("{S 30}") # 连续4次按下 SHIFT+TAB rpa.ui.win32.send_key("+{TAB 4}") # 使用变量控制按下 SHIFT+TAB 的次数 n = 4 rpa.ui.win32.send_key("+{TAB %s }" % n)
使用快捷键操作软件
软件窗口经常内置一些快捷键操作,可使用这些快捷键操作而无需使用鼠标点击。
适用在部分控件捕捉不到、但通过被操作软件提供了快捷键可完成对应操作的情况
每个被操作软件支持的快捷键有所不同,需要以被操作软件为准
以Windows内置的记事本为例
执行的快捷键 | 效果 |
send_key("!{f}") | Alt+f,打开记事本的“文件”菜单 |
send_key("{DOWN}") | 移动焦点到下一个菜单项 |
send_key("{UP}") | 移动焦点到上一个菜单项 |
send_key("{LEFT}") | 切换到左边的菜单或收缩子菜单 |
send_key("{RIGHT}") | 切换到右边的菜单或展开子菜单 |
send_key("^+{S}") | Ctrl + Shift +S,记事本的“另存为” |
热键清单
Fn键不支持被模拟操作
Send 命令(无标志参数) | 执行效果 |
{!} | ! |
{#} | # |
{+} | + |
{^} | ^ |
{{} | { |
{}} | } |
{SPACE} | 空格 |
{ENTER} | 主键盘区的 回车键 |
{ALT} | ALT |
{BACKSPACE} 或 {BS} | 退格 |
{DELETE} 或 {DEL} | 删除(DELETE) |
{UP} | 向上箭头 |
{DOWN} | 向下箭头 |
{LEFT} | 向左箭头 |
{RIGHT} | 向右箭头 |
{HOME} | HOME |
{END} | END |
{ESCAPE} 或 {ESC} | Esc键 |
{INSERT} 或 {INS} | INS(Insert) |
{PGUP} | PGUP(PageUp) |
{PGDN} | PGDN(PageDown) |
{F1} - {F12} | 功能键 |
{TAB} | TAB |
{PRINTSCREEN} | PRINTSCREEN |
{LWIN} | 左徽标键 |
{RWIN} | 右徽标键 |
{NUMLOCK} | NUMLOCK |
{CTRLBREAK} | Ctrl+Break |
{PAUSE} | PAUSE |
{CAPSLOCK} | CAPSLOCK |
{NUMPAD0} - {NUMPAD9} | 数字键盘上的 数字键 |
{NUMPADMULT} | 数字键盘上的 乘号 |
{NUMPADADD} | 数字键盘上的 加号 |
{NUMPADSUB} | 数字键盘上的 减号 |
{NUMPADDIV} | 数字键盘上的 除号 |
{NUMPADDOT} | 数字键盘上的 点号 |
{NUMPADENTER} | 数字键盘上的 回车键 |
{APPSKEY} | Windows 应用程序键 |
{LALT} | 左 ALT 键 |
{RALT} | 右 ALT 键 |
{LCTRL} | 左 CTRL 键 |
{RCTRL} | 右 CTRL 键 |
{LSHIFT} | 左 Shift 键 |
{RSHIFT} | 右 Shift 键 |
{SLEEP} | 系统休眠(SLEEP)键 |
{ALTDOWN} | 按住 ALT 键直到发送 {ALTUP} 为止 |
{SHIFTDOWN} | 按住 SHIFT 键直到发送 {SHIFTUP} 为止 |
{CTRLDOWN} | 按住 CTRL 键直到发送 {CTRLUP} 为止 |
{LWINDOWN} | 按住左徽标键直到发送 {LWINUP} 为止 |
{RWINDOWN} | 按住右徽标键直到发送 {RWINUP} 为止 |
{ASC nnnn} | 发送 ALT+nnnn 组合键 |