火语言 RPA: 用「模拟键盘按键」搞定页面输入框填写

简介: 本案例针对自动化填写中输入框内容追加、JS清空无效等难题,通过模拟真实用户键盘操作(Ctrl+A全选+Delete删除),彻底清空输入框并绕过前端框架状态限制,确保内容准确写入,提升自动化稳定性。

一、案例说明

在自动化填写页面搜索框 / 输入框的场景中,常遇到输入框各类写入异常问题:
场景1:直接写入无响应

问题表现:使用「输入框填写」组件无法将内容写入输入框;
核心原因:该组件仅直接修改输入框的 DOM 属性值,未触发网页内置的输入校验、内容监听等前端事件,导致页面未识别到输入操作;
解决策略:先用「获取 / 失去焦点」组件激活输入框,再通过「模拟键盘输入」组件完成内容填写;
参考案例:https://www.huoyuyan.com/community/detail.html?id=401

场景 2:内容追加写入(基础解决)

问题表现:新输入的内容会追加到输入框原有内容之后,无法覆盖旧内容;
核心原因:输入框默认采用内容追加逻辑;
解决策略:使用「网页注入 JS 脚本」组件强制清空输入框的 value 属性,清除原有内容;
参考案例(组件 8):https://www.huoyuyan.com/community/detail.html?id=355

场景 3:JS 清空无效的极端追加场景

问题表现:即使通过 JS 脚本清空了输入框 value,后续输入仍会追加到上次内容之后;
核心原因:部分复杂输入框(如前端框架渲染的组件)会维护独立的内部状态,仅清空 value 属性无法同步这一状态;
解决策略:采用「模拟键盘按键删除」组件(如全选内容后删除、逐字符删除),复刻真实用户的键盘操作,彻底清空输入框并同步页面内部状态,保障后续写入稳定执行;

本案例是针对上述场景3的情况进行实操演示:

二、案例逻辑

核心思路:模拟真实用户的键盘操作,从物理层面清空输入框内容,绕过前端框架的隐藏校验与状态限制。
定位目标输入框的值,模拟键盘全选输入框内容(Ctrl+A),逐字符删除(Backspace/Delete),确认输入框彻底清空后,执行目标内容的写入操作。

三、操作细则

1、打开浏览器,初始化浏览器
image.png

2、浏览网页,输入网址URLhttps://www.yuque.com/login?register_with_scene=true&defaultType=org&register_from=official_website_top_button
image.png

3、获取/失去焦点,获取手机号输入框的焦点
目标元素:#ReactApp > div > div.lark.page-account.pc-web.lark-login > div > div:nth-child(1) > div > div > div > div.lark-form-content.form-pro > div > form > div:nth-child(1) > div > div > span > div > span > input
image.png
image.png

4、获取单元素信息/属性值,获取输入框的值
目标元素:input[data-testid="prefix-phone-input"]
属性名称:value
image.png

5、模拟键盘按键,Ctrl+A全选输入框的值
image.png

6、模拟键盘按键,删除(Delete)全选内容
image.png

7、模拟键盘输入,模拟键盘按键输入内容
image.png

8、鼠标拖拽元素,拖拽鼠标滑块元素
参考案例:https://www.huoyuyan.com/community/detail.html?id=417
image.png
image.png

案例分享: https://www.huoyuyan.com/share.html?key=eyJjb2RlIjoiWDd4YyIsImF1dG9Db2RlIjoiVHJ1ZSIsImtleSI6ImJiMmU0ZGI1YTQ3ZjQzMzdiNmYyMzlmZjFmYjZjYzEyIn0= 提取码: X7xc

目录
相关文章
|
存储 安全 C++
C++ 用户输入与数据类型详解:建立基本计算器及变量类型
了解C++的用户输入和数据类型。使用`cin`从键盘读取数据,如在简单计算器示例中获取两个数字并求和。C++的数据类型包括:`int`(整数)、`float`(浮点数,约6-7位小数)、`double`(更精确的浮点数,约15位小数)、`bool`(布尔值,true或false)、`char`(单个字符)和`string`(文本字符串)。每种类型都有特定的存储大小和用途。在处理浮点数时,`double`通常更安全。字符串需要包含`<string>`库。更多内容可关注微信公众号`Let us Coding`获取。
375 0
|
2月前
|
数据采集 存储 数据可视化
【实战案例】使用火语言RPA『表格数据提取』组件,批量爬取蔬菜价格+Excel 整理
火语言RPA中,爬取网页表格数据不必逐个提取元素!使用「表格数据提取」组件,可一键抓取整表内容。本文以采集10页蔬菜价格为例,手把手教你新建全局表格、循环翻页、自动提取并导出Excel,最后进行数据清洗整理,全程可视化操作,新手也能快速上手,高效完成多页表格采集任务。
190 2
|
5月前
|
NoSQL IDE MongoDB
Studio 3T 2025.17 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
Studio 3T 2025.17 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
373 1
Studio 3T 2025.17 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
/usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available
/usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available
|
4月前
|
存储 前端开发
【实战案例】火语言 RPA 采集小说站已完结书名(自动翻页判断),保存到Excel 全流程(附完整脚本)
自动采集起点中文网完本小说书名,支持翻页检测与数据存储。脚本逐页抓取小说名并保存至Excel,最多采集50页,智能判断翻页逻辑,确保数据完整,适用于批量获取完结书籍信息。
290 5
|
关系型数据库 MySQL 数据处理
Mysql关于同时使用Group by和Order by问题
总的来说,`GROUP BY`和 `ORDER BY`的合理使用和优化,可以在满足数据处理需求的同时,保证查询的性能。在实际应用中,应根据数据的特性和查询需求,合理设计索引和查询结构,以实现高效的数据处理。
1619 1
|
监控 Cloud Native 安全
[云原生] 破局微服务通信:探索MegaEase服务网格的创新之路
[云原生] 破局微服务通信:探索MegaEase服务网格的创新之路
540 0
|
缓存 数据可视化 安全
开发阿里云 RPA 机器人的技巧
在当今数字化时代,机器人流程自动化(RPA)技术正逐渐成为企业提高效率和优化业务流程的重要手段。阿里云 RPA 作为一种强大的工具,为开发高效的机器人提供了丰富的功能和支持。本文将分享一些开发阿里云 RPA 机器人的技巧,帮助您更好地利用该平台的能力。
|
文字识别 API 开发工具
文字识别OCR常见问题之滴滴行程单无法识别(png上传)如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
766 2
|
网络协议 Java
filebeat:Failed to publish events caused by: write tcp 5044: write: connection reset by peer
filebeat:Failed to publish events caused by: write tcp 5044: write: connection reset by peer
1018 0
filebeat:Failed to publish events caused by: write tcp 5044: write: connection reset by peer