模拟快捷键
模拟快捷键 用于向指定网页元素发送键盘按键或快捷键组合,例如 Enter、Escape、Tab、Control+C。它常用于输入后提交、关闭弹窗、触发表单快捷操作,或模拟用户键盘导航。
指令标识:SendKeys
指令类型:网页指令
指令描述:向指定页面元素发送键盘按键或快捷键组合,模拟用户键盘操作
先选使用方式
Section titled “先选使用方式”工作流支持「可视化编排」和「代码编排」两种创建方式。模拟快捷键 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐先学) | 拖入「模拟快捷键」节点,捕获元素并填写按键组合 | 大多数用户,零代码,适合快速搭建和调试 |
| 代码编排(Python) | 在脚本中调用 bots.sendKeys(selector="...", keys="Enter") | 熟悉代码、需要复用脚本或批量生成流程的用户 |
第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。
什么时候用?
Section titled “什么时候用?”- 在输入框中发送
Enter提交搜索或表单。 - 使用
Escape关闭弹窗或下拉层。 - 使用
Tab切换焦点。 - 使用
Control+A、Control+C、Control+V等组合键。
如果只是要写入普通文本,优先使用 输入文本;如果要点击按钮提交,使用 点击元素。
- 目标元素已经存在,必要时先使用 等待元素存在。
- 目标元素能接收键盘事件,必要时先点击元素让它获得焦点。
- 快捷键写法使用
+连接,例如Control+C。 - 如果目标元素在 iframe 中,需要配置 iframe 页面定位器。
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”- 先让页面进入需要键盘操作的状态。
- 捕获接收按键的目标元素,例如搜索框或输入框。
- 在 快捷键组合 中填写按键,例如:
Enter- 设置定位超时,例如
5000ms。 - 运行后观察页面是否提交、关闭弹窗或切换焦点。
一个搜索提交流程可以这样配置:
- 打开网页:进入搜索页面。
- 等待元素存在:等待搜索框出现。
- 输入文本:输入关键词。
- 模拟快捷键:对搜索框发送
Enter。 - 等待元素存在:等待搜索结果区域出现。
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| 元素选择器 | selector | String | 是 | - | 用于定位接收按键的网页元素。建议从元素库捕获。 |
| 快捷键组合 | keys | String | 是 | - | 要发送的按键或组合键,例如 Enter、Escape、Control+C。 |
| iframe 页面定位器 | frameSelector | String | 否 | - | 高级参数,目标元素在 iframe 中时填写。 |
| 按键可选项 | pressOptions | JSON | 否 | - | 高级参数,可配置 delay、timeout、noWaitAfter 等。 |
| 查找元素高级配置 | findElementOptions | JSON | 否 | - | 高级参数,可配置元素查找超时(timeout,单位毫秒)等。 |
该指令没有业务输出变量,主要副作用是触发目标元素上的键盘事件。是否成功应通过页面状态、运行日志和后续等待节点判断。
- 按键发送后页面发生预期变化,例如提交、关闭弹窗、焦点切换或内容变化。
- 后续等待页面或等待元素节点能继续执行。
- 运行日志中没有按键、页面或元素交互错误。
| 现象 | 可能原因 | 处理建议 |
|---|---|---|
| 节点报错:找不到目标元素(定位超时 / 元素未找到) | 页面未加载完成或定位失效 | 发送前先用「等待元素存在」确认元素出现,再重新捕获 |
| 按键没有效果 | 元素未获得焦点或页面不监听该按键 | 先点击目标元素,再发送快捷键 |
| 组合键无效 | 按键名称写法不正确 | 使用 Control+C、Shift+A 等标准写法 |
| 按键后页面变化太慢 | 页面提交或异步渲染未完成 | 按键后增加等待页面加载或等待元素存在 |
Python 代码编排
Section titled “Python 代码编排”代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。
bots.openUrl(url="https://example.com/search")bots.fillText(selector="//input[@name='q']", text="RPA")
# 对搜索框发送 Enterbots.sendKeys( selector="//input[@name='q']", keys="Enter", findElementOptions='{"timeout": 5000}',)如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。
Q1:支持哪些按键?
Section titled “Q1:支持哪些按键?”A: 支持字母、数字、功能键、方向键、Enter、Escape、Tab 等常见按键,也支持 Control、Alt、Shift、Meta 等修饰键组合。
Q2:如何发送组合键?
Section titled “Q2:如何发送组合键?”A: 使用加号 + 连接多个按键,例如 Control+C、Control+A、Shift+Tab。
Q3:元素不存在时会报错吗?
Section titled “Q3:元素不存在时会报错吗?”A: 默认会报错。找不到元素时引擎会先尝试自愈,仍然找不到就抛出元素定位错误,节点失败。只有把节点的「失败处理」设为「可选」或「继续」时,才会跳过本次按键并继续执行后续节点。建议发送按键前先用 等待元素存在 确认元素已出现。