宝格丽网站建设策划案,济南浩辰网站建设公司怎么样,二级目录怎么做网站,各大搜索引擎网站提交入口大全RPA 即机器人流程自动化#xff0c;是一种利用软件机器人或人工智能来自动化业务流程中规则性、重复性任务的技术。RPA 技术可以模拟和执行人类在计算机上的交互操作#xff0c;从而实现自动化处理数据、处理交易、触发通知等任务。帮助企业或个人实现业务流程的自动化和优化…RPA 即机器人流程自动化是一种利用软件机器人或人工智能来自动化业务流程中规则性、重复性任务的技术。RPA 技术可以模拟和执行人类在计算机上的交互操作从而实现自动化处理数据、处理交易、触发通知等任务。帮助企业或个人实现业务流程的自动化和优化提升生产力和效率。
在RPA中自动化通常分为两大块桌面自动化、浏览器自动化。所谓浏览器自动化就是通过RPA软件控制浏览器执行自动化任务比如自动打开网页自动填写网页中的输入框等等。
当时在研发RPA软件时我实现了一种常用的控制方式通过进程间通信 JavaScript代码来控制浏览器。当时使用Chrome浏览器验证技术链路其他浏览器大同小异原理相同。其他控制浏览器的方式还有模拟键鼠操作、WebDriver等以后分享出来。
技术原理
使用 RPA Chrome插件 Native Messaging 协议 Native Messaging Host进程从而实现本地应用如RPA软件与Chrome之间的互相通信、互相控制。
RPA Chrome插件实际上是通过浏览器插件的方式告诉Chrome浏览器Native Messaging Host进程所在位置。并且RPA插件解析从RPA进程发来的数据作为JS代码在浏览器中运行控制网页行为。
Native MessagingNM协议Chrome浏览器与Native Messaging Host通信的协议传输UTF8 JSON数据数据格式为 4字节头 实际数据数据头表示后面实际数据的字节数建立在stdio通信之上。
Native Messaging HostNM Host进程RPA提供的与浏览器通信的桥梁进程Chrome浏览器打开时会把Native Messaging Host作为子进程启动。
Chrome浏览器插件有两个核心文件background.js与content.js。background运行在背景页content与web页面或tab页交互。如果使用 Native Messaging 协议background.js上端负责与content.js通信下端负责与NM Host进程通信。控制端RPA软件与NM Host通信整个链路就通了RPA进程 byIPC NM Host Chrome进程 Chrome插件 浏览器网页
详细原理图如下 执行过程
RPA进程的打开浏览器指令打开Chrome浏览器进程通过系统中已安装Chrome的位置就能打开浏览器进程。Chrome进程打开后随之打开NM Host进程如上图并与NM Host进程用NM协议通信。RPA进程找到NM Host进程并与之进程间通信stdio。RPA进程只要发送正确的JS代码给NM Host进程通过NM协议NM Host把数据给浏览器浏览器的RPA插件收到的数据解析为JS代码执行从而控制浏览器行为如控制网页打开关闭tab页等。