模拟键盘输入
模拟键盘输入 用于在移动端设备上直接向当前焦点位置输入文本,无需先定位具体的输入框元素。它常用于焦点已在输入框、或无法定位元素的场景,如搜索框输入关键词、登录表单填写等。
指令标识:MobileSendKeysWithoutEle
指令类型:移动端指令
指令描述:在设备上直接模拟键盘输入指定文本,无需传入元素信息
先选使用方式
Section titled “先选使用方式”工作流支持「可视化编排」和「代码编排」两种创建方式。模拟键盘输入 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐先学) | 拖入「模拟键盘输入」节点,在右侧表单填写输入内容并选择输入方式 | 大多数用户,零代码,适合快速搭建和调试 |
| 代码编排(Python) | 在脚本中调用 bots.mobileSendKeysWithoutEle(keyword="示例文本") | 熟悉代码、需要复用脚本或批量生成流程的用户 |
第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。
什么时候用?
Section titled “什么时候用?”- 输入框已获得焦点,需要直接输入文本而不再定位元素。
- 配合点击操作完成表单填写:先点击输入框获取焦点,再输入内容。
- 搜索框获得焦点后,快速输入搜索关键词。
- 无法或无需定位具体输入框元素时的文本注入。
- 设备已连接,目标页面已加载完成。
- 输入焦点已落在正确的输入框上(通常先用 点击 点一下目标输入框)。
- 输入内容不能为空。
- 已确认输入方式:默认剪贴板输入(
CLIPBOARD),需要模拟逐字输入时选HUMAN。
【图片占位 | command-mobilesendkeyswithoutele-config】 截图内容建议: 截一张可视化编排页面,画布中先有点击输入框的节点,再选中「模拟键盘输入」节点,右侧属性面板展示「输入内容」「输入方式」区域。 标注建议: 用 ① 标出画布中的「模拟键盘输入」节点,用 ② 标出输入内容输入框,用 ③ 标出输入方式下拉框,用 ④ 标出运行按钮或成功状态。 用户看完应能明白: 这个节点向当前焦点输入文本,使用前要确保焦点在正确的输入框。
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”下面用一个常见场景演示:在搜索框中输入关键词。按 4 步即可跑起来:
- 先用 点击 节点点击搜索框,让其获得焦点。
- 添加 模拟键盘输入 节点。
- 在 输入内容 中填写要输入的文本(如
示例文本),按需选择 输入方式。 - 点击运行,确认文本已输入到搜索框中。
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| 输入内容 | keyword | String | 是 | - | 需要输入的文本内容,不能为空。 |
| 输入方式 | charByChar | Enum | 否 | CLIPBOARD | 文本输入方式,可选值:CLIPBOARD(剪贴板输入)、HUMAN(模拟人工输入)。 |
该指令无输出参数。是否输入成功建议通过页面内容或运行日志判断。
- 节点运行成功,日志中没有输入相关错误。
- 文本被正确输入到当前焦点的输入框中。
- 后续节点能基于输入后的页面状态继续执行。
运行后你会看到(以上面场景为例):
- 搜索框中出现了输入的关键词。
- 运行日志显示输入操作成功。
【图片占位 | command-mobilesendkeyswithoutele-success】 建议放一张运行成功截图:「模拟键盘输入」节点为成功状态,配合一张输入框已填入文本的截图。图片用于说明这个节点跑通后用户应该看到什么。
| 现象 / 报错原文 | 可能原因 | 处理建议 |
|---|---|---|
| 输入未生效 | 当前没有焦点元素 | 先点击目标输入框获取焦点,再执行输入 |
| 文本写入了错误区域 | 焦点不在预期输入框 | 确认焦点位置,必要时先点击正确的输入框 |
| 特殊字符显示异常 | Android 远程输入需转义特殊字符 | 系统会自动处理常见特殊字符,仍异常时拆分内容重试 |
| 长文本输入不完整 | 设备性能或输入法影响注入速度 | 将长文本拆分为多次调用 |
Python 代码编排
Section titled “Python 代码编排”代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。
# 先点击搜索框获取焦点,再向当前焦点输入文本bots.mobileTap(...) # 点击目标输入框,使其获得焦点bots.mobileSendKeysWithoutEle(keyword="示例文本")需要模拟逐字人工输入时,指定输入方式:
bots.mobileSendKeysWithoutEle(keyword="示例文本", charByChar="HUMAN")可视化表单里的「输入内容」「输入方式」分别对应代码里的 keyword、charByChar。如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。
Q1:该指令与输入文本有什么区别?
Section titled “Q1:该指令与输入文本有什么区别?”A: 该指令不需要先定位元素,直接向当前焦点位置输入;输入文本 需要通过 xpath/id 等参数先定位元素。使用前建议先点击目标输入框,确保焦点在正确位置。
Q2:如何确保输入到正确的位置?
Section titled “Q2:如何确保输入到正确的位置?”A: 指令通过系统输入法直接注入,不依赖元素聚焦;请确保输入焦点正确,否则文本可能写入其他区域。建议使用 点击 先点击目标输入框。
Q3:Android 特殊字符如何处理?
Section titled “Q3:Android 特殊字符如何处理?”A: Android 通过远程输入文本时需对特殊符号进行转义(例如空格替换为 %s),系统会自动处理常见特殊字符。
Q4:长文本输入有什么限制?
Section titled “Q4:长文本输入有什么限制?”A: 长文本注入速度受设备性能及输入法影响,必要时可拆分多次调用;如果当前没有焦点元素,输入可能不会生效。