跳转到内容

模拟快捷键

模拟快捷键 用于向指定网页元素发送键盘按键或快捷键组合,例如 EnterEscapeTabControl+C。它常用于输入后提交、关闭弹窗、触发表单快捷操作,或模拟用户键盘导航。

指令标识:SendKeys
指令类型:网页指令
指令描述:向指定页面元素发送键盘按键或快捷键组合,模拟用户键盘操作

工作流支持「可视化编排」和「代码编排」两种创建方式。模拟快捷键 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。

方式怎么用适合人群
可视化编排(推荐先学)拖入「模拟快捷键」节点,捕获元素并填写按键组合大多数用户,零代码,适合快速搭建和调试
代码编排(Python)在脚本中调用 bots.sendKeys(selector="...", keys="Enter")熟悉代码、需要复用脚本或批量生成流程的用户

第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。

模拟快捷键
  • 在输入框中发送 Enter 提交搜索或表单。
  • 使用 Escape 关闭弹窗或下拉层。
  • 使用 Tab 切换焦点。
  • 使用 Control+AControl+CControl+V 等组合键。

如果只是要写入普通文本,优先使用 输入文本;如果要点击按钮提交,使用 点击元素

  • 目标元素已经存在,必要时先使用 等待元素存在
  • 目标元素能接收键盘事件,必要时先点击元素让它获得焦点。
  • 快捷键写法使用 + 连接,例如 Control+C
  • 如果目标元素在 iframe 中,需要配置 iframe 页面定位器。
  1. 先让页面进入需要键盘操作的状态。
  2. 捕获接收按键的目标元素,例如搜索框或输入框。
  3. 快捷键组合 中填写按键,例如:
Enter
  1. 设置定位超时,例如 5000ms
  2. 运行后观察页面是否提交、关闭弹窗或切换焦点。

一个搜索提交流程可以这样配置:

  1. 打开网页:进入搜索页面。
  2. 等待元素存在:等待搜索框出现。
  3. 输入文本:输入关键词。
  4. 模拟快捷键:对搜索框发送 Enter
  5. 等待元素存在:等待搜索结果区域出现。
界面名称代码属性名类型必填默认值说明
元素选择器selectorString-用于定位接收按键的网页元素。建议从元素库捕获。
快捷键组合keysString-要发送的按键或组合键,例如 EnterEscapeControl+C
iframe 页面定位器frameSelectorString-高级参数,目标元素在 iframe 中时填写。
按键可选项pressOptionsJSON-高级参数,可配置 delaytimeoutnoWaitAfter 等。
查找元素高级配置findElementOptionsJSON-高级参数,可配置元素查找超时(timeout,单位毫秒)等。

该指令没有业务输出变量,主要副作用是触发目标元素上的键盘事件。是否成功应通过页面状态、运行日志和后续等待节点判断。

  • 按键发送后页面发生预期变化,例如提交、关闭弹窗、焦点切换或内容变化。
  • 后续等待页面或等待元素节点能继续执行。
  • 运行日志中没有按键、页面或元素交互错误。
模拟快捷键
现象可能原因处理建议
节点报错:找不到目标元素(定位超时 / 元素未找到)页面未加载完成或定位失效发送前先用「等待元素存在」确认元素出现,再重新捕获
按键没有效果元素未获得焦点或页面不监听该按键先点击目标元素,再发送快捷键
组合键无效按键名称写法不正确使用 Control+CShift+A 等标准写法
按键后页面变化太慢页面提交或异步渲染未完成按键后增加等待页面加载或等待元素存在

代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。

bots.openUrl(url="https://example.com/search")
bots.fillText(selector="//input[@name='q']", text="RPA")
# 对搜索框发送 Enter
bots.sendKeys(
selector="//input[@name='q']",
keys="Enter",
findElementOptions='{"timeout": 5000}',
)

如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。

A: 支持字母、数字、功能键、方向键、EnterEscapeTab 等常见按键,也支持 ControlAltShiftMeta 等修饰键组合。

A: 使用加号 + 连接多个按键,例如 Control+CControl+AShift+Tab

A: 默认会报错。找不到元素时引擎会先尝试自愈,仍然找不到就抛出元素定位错误,节点失败。只有把节点的「失败处理」设为「可选」或「继续」时,才会跳过本次按键并继续执行后续节点。建议发送按键前先用 等待元素存在 确认元素已出现。