一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种软件界面结构化元素的批量抓取方法与流程

2022-07-02 14:57:02 来源:中国专利 TAG:


1.本发明涉及rpa机器人流程自动化领域,具体涉及一种软件界面结构化元素的批量抓取方法。


背景技术:

2.机器人流程自动化(robotic process automation,后文简称rpa)是运行在个人计算机或服务器上的软件,主要功能是模拟人操控各种系统软件、自动执行业务流程,适用于大批量、高重复的业务场景。rpa机器人的主要功能之一就是获取系统软件界面上的数据,其中就包括结构化数据(结构化数据指的是在一个记录文件里面以固定格式存在的数据,例如表格、目录等)。
3.目前获取结构化数据的主要方法是调用系统软件提供的应用程序编程接口(application programming interface,后文简称api),该方法存在以下问题:
4.1、对于不提供api的系统软件无效;
5.2、对于分页显示的结构化数据无效;
6.3、对于结构不明显的数据无效。
7.为了解决上述技术问题,现有技术提出的解决方案是分别获取结构化中的每个数据,然后按照发现的规律拼接起来,然而这种解决方案存在以下问题:
8.1、发现结构化数据的规律困难;
9.2、数据量大的时候,单独获取每个数据耗费时间;
10.3、将获取到的数据按照特定规律组合效率低,容易出错。


技术实现要素:

11.为了解决现有技术中rpa机器人获取结构化数据时遇到的系统软件不提供api、数据分页、数据结构不明显的问题,简化rpa机器人获取结果化数据的过程以及提高rpa机器人获取结果化数据的效率,本发明提供了一种软件界面结构化元素的批量抓取方法。
12.本发明的技术目的是通过以下技术方案实现的:
13.一种软件界面结构化元素的批量抓取方法,包括开发流程阶段和运行流程阶段,在开发流程阶段获取三个选择器,三个选择器分别对应祖先节点、孩子节点组和孩子节点组中的目标节点;运行流程阶段rpa机器人通过三个选择器提取结构化数据,获得由目标节点组成的节点组,rpa机器人获取节点组内目标节点的属性并按照节点组和孩子节点组生成结构化数据的二维数组。
14.进一步地,运行流程阶段,当结构数据处于不同页面时,rpa机器人进行翻页操作,获取每页的结构化数据并将获取的结构化数据拼接在一起。
15.进一步地,选择器保存了目标节点、孩子节点组以及祖先节点中的元素属性及层级关系。
16.进一步地,开发流程阶段包括以下步骤:
17.步骤一、人工选取结构化数据中的两个控件类型相同的界面元素;
18.步骤二、借助分析模块分析两个界面元素的层级和位置关系,找到两个所述界面元素的共同祖先节点,将祖先节点的选择器作为第一个选择器;
19.步骤三、获取祖先节点的所有孩子节点组,将从祖先节点查找孩子节点组的选择器作为第二个选择器;
20.步骤四、将孩子节点组中的查找控件类型相同的节点的选择器作为第三个选择器;若步骤1中的两个界面元素在孩子节点组层级,则第三个选择器为空。
21.进一步地,在运行流程阶段,rpa机器人通过三个选择器提取结构化数据时包括以下步骤:
22.步骤1、rpa机器人根据第一个选择器找到祖先节点;
23.步骤2、rpa机器人根据第二个选择器找到孩子节点组;
24.步骤3、rpa机器人根据第二个选择器,分别从孩子节点组的每个孩子节点出发查找孩子节点下对应的目标节点并形成目标节点组;
25.步骤4、rpa机器人获取目标节点的指定属性,并按照目标节点组和孩子节点组形成结构化数据的二维数组。
26.进一步地,分析模块为语法分析算法。
27.相比现有技术,本发明的有益效果在于:
28.1、本发明的软件界面结构化元素的批量抓取方法支持不提供提取结构化数据api的系统软件;
29.2、通过rpa机器人自动翻页支持获取分页现实的结构化数据;
30.3、本发明的方法支持提取结构不明显的数据;
31.4、本发明的方法操作简单,不需要理解数据间的结构规律;
32.5、生成结果为三个元素选择器,直观展示了数据的结果关系,方便理解和修改;
33.6、通过本发明的方法大幅提高获取结构化数据的效率。
附图说明
34.图1是本发明中系统应用界面元素节点示意图。
35.图2是实施例1中的组织构架图。
36.图3是实施例2中的组织构架图。
37.图4是实施例3中的组织构架图。
具体实施方式
38.下面结合具体实施方式对本发明的技术方案进行进一步描述:
39.一种软件界面结构化元素的批量抓取方法,如图1-4所示,包括开发流程阶段和运行流程阶段,选择器是一种选择元素的模式,以文本的形式存储和传递,如css选择器,选择器的作用是定位界面元素,选择器中保存了目标界面元素的一些属性和这些元素之间的层级关系,根据选择器中的属性,rpa机器人可以定位到符合选择器条件的一个或多个界面元素。
40.在开发流程阶段,捕获结构化数据中两个界面元素,分析获取三个选择器:
41.步骤一、人工选取结构化数据中的两个界面元素(简称节点a和节点b),如果这两个界面元素的控件类型(控件类型称为控件类型c)不同,则提示重新选取。
42.步骤二、通过分析模块分析这两个数据的层级和位置关系,分析模块采用通用的语法分析算法,找到这两个元素的共同祖先节点(简称节点g),将节点g的选择器作为第一个选择器。语法分析算法的作用是对输入的两个选择器文本进行分析,根据特定规则生成输出的三个选择器文本,通过对文本的分析处理,间接实现对选择条件的分析处理。
43.步骤三、获取节点g的所有孩子节点组(简称节点组f),将从节点g查找节点组f的选择器作为第二个选择器;
44.步骤四、将从节点组f中的某个节点查找控件类型c的节点的选择器作为第三个选择器;如果节点a和节点b处于节点组f的层级,也即节点a和节点b直接属于节点g,则第三个选择器为空。
45.在运行流程阶段,rpa机器人根据三个选择器提取结构化数据:
46.步骤1、rpa机器人根据第一个选择器找到节点g;
47.步骤2、rpa机器人根据第二个选择器找到节点组f;
48.步骤3、rpa机器人根据第二个选择器,分别从节点组f的每个节点出发,查找所有的目标节点并形成目标节点组(节点组c);
49.步骤4、rpa机器人获取目标节点的指定属性,并按照节点组c和节点组f形成结构化数据的二维数组;
50.步骤5、如果需要翻页,rpa机器人自动点击翻页按钮翻页,新一页从第一步开始获取结构化数据,并将之前获得的数据拼接在一起。
51.下面结合具体实施例进行说明:
52.以公司为例,将员工看作元素,员工姓名和性别看作元素属性,公司的组织构架对应元素的层级关系。
53.实施例1
54.a男为研发部门开发组组员,b男为研发部门测试组组员;
55.分析a男和b男的共同点,生成三个选择器,三个选择器分别对应研发部门、研发部门下的组长、每个组长管理的男性组员;
56.选择器1-选择研发部门;
57.选择器2-选择所有组长;
58.选择器3-选择所有男性组员;
59.rpa机器人通过三个选择器提取结构化数据,可以得到一张表,表的行和列分别对应研发部门组长和对应研发部门组长管理的男性组员。
60.实施例2
61.男c为研发部门开发组组长,女d为研发部门测试组组长;分析男c与女d的共同点,生成三个选择器,三个选择器分别对应研发部门、研发部门下的组长、每个组长管理下的组员;
62.选择器1-选择研发部门;
63.选择器2-选择所有组长;
64.选择器3-选择到组长自身,选择器3为空;
65.rpa机器人通过三个选择器提取结构化数据,如可以得到一张单列表,包含研发部门所有的组长。
66.实施例3
67.男e为研发部门开发组组长,男f为研发部门开发组员;分析男e和男f的共同点,发现男e和男f相对于公共节点研发部门的位置不同,处于不同层级,生成选择器失败,需要重新选取。
68.本实施例只是对本发明的进一步解释,并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性的修改,但是只要在本发明的权利要求范围内都受到专利法的保护。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献