RPA定位控件元素的组合定位系统、方法、设备及介质转让专利

申请号 : CN202111041123.6

文献号 : CN113495775B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 梁威匡雄峰

申请人 : 长沙博为软件技术股份有限公司

摘要 :

本发明公开了一种RPA定位控件元素的组合定位系统、方法、设备及介质,本方案通过第一级定位器和至少一个第二级定位器结合的方式以到达适应目标软件灵活多变的情况下仍能精准定位目标元素的功能,增加定位器定位功能的普遍适应性,通过灵活的组合方式能提高定位准确性、提高定位效率。而且本发明中的第二级定位器根据选取的已定位的参考控件元素和待定位的目标控件元素之间相对不变化的特征,然后基于已定位的参考控件元素和相对不变化的特征对待定位的目标控件元素进行定位,相较于相关的方案,在目标软件界面发生变化时,仍然能够达到准确的定位效果。

权利要求 :

1.一种RPA定位控件元素的组合定位系统,其特征在于,所述组合定位系统包括:一个第一级定位器,用于定位出控件元素;

至少一个第二级定位器,所述第二级定位器之间递进执行定位任务,每一个所述第二级定位器将所述第一级定位器或上一个所述第二级定位器定位出的控件元素作为已定位的参考控件元素,选取已定位的参考控件元素与待定位的目标控件元素之间相对不变化的特征,并根据已定位的参考控件元素和所述相对不变化的特征对待定位的目标控件元素进行定位;所述第二级定位器包括相对位置定位器、相对路径定位器和文本信息定位器中的至少一种,其中:

所述相对位置定位器用于在第一时刻选取已定位的参考控件元素上的第一坐标点和待定位的目标控件元素的第二坐标点,计算所述第一坐标点与所述第二坐标点之间不变化的相对偏移位置,其中第一坐标点在所述已定位的参考控件元素上的位置与所述第二坐标点在所述待定位的目标控件元素上的位置相对应,并且根据所述第一坐标点和所述相对偏移位置对第二时刻的所述待定位的目标控件元素进行定位;

所述相对路径定位器用于在第一时刻选取已定位的参考控件元素的第一路径和待定位的目标控件元素的第二路径,计算所述第一路径和所述第二路径之间不变化的最小父级窗体层次结构,根据所述第一路径和所述最小父级窗体层次结构对第二时刻的所述待定位的目标控件元素进行定位;

所述文本信息定位器用于在第一时刻选取与已定位的参考控件元素的各子级控件元素唯一对应的第一本文信息和待定位的目标控件元素的第二文本信息,已定位的参考控件元素为待定位的目标控件元素的父级,所述第一本文信息中包含所述第二文本信息,并且根据包含所述第二文本信息的所述第一本文信息对第二时刻的所述待定位的目标控件元素进行定位。

2.根据权利要求1所述的RPA定位控件元素的组合定位系统,其特征在于,所述第一坐标点包括所述参考控件元素的矩形边中点、矩形中点和矩形顶点中的其中一点。

3.根据权利要求1所述的RPA定位控件元素的组合定位系统,其特征在于,所述第一本文信息中包括文字特征、字体特征、字号特征和颜色特征中的至少一种。

4.一种RPA定位控件元素的组合定位方法,其特征在于,包括如下步骤:接收第一级定位器或上一个执行定位任务的第二级定位器定位的控件元素;

将所述定位的控件元素作为已定位的参考控件元素,并选取所述已定位的参考控件元素与待定位的目标控件元素之间相对不变化的特征,根据已定位的参考控件元素和所述相对不变化的特征对待定位的目标控件元素进行定位;选取所述已定位的参考控件元素与待定位的目标控件元素之间相对不变化的特征,根据已定位的参考控件元素和所述相对不变化的特征对待定位的目标控件元素进行定位,包括如下至少之一:在第一时刻选取已定位的参考控件元素上的第一坐标点和待定位的目标控件元素的第二坐标点,计算所述第一坐标点与所述第二坐标点之间不变化的相对偏移位置,其中第一坐标点在所述已定位的参考控件元素上的位置与所述第二坐标点在所述待定位的目标控件元素上的位置相对应,并且根据所述第一坐标点和所述相对偏移位置对第二时刻的所述待定位的目标控件元素进行定位;

在第一时刻选取已定位的参考控件元素的第一路径和待定位的目标控件元素的第二路径,计算所述第一路径和所述第二路径之间不变化的最小父级窗体层次结构,根据所述第一路径和所述最小父级窗体层次结构对第二时刻的所述待定位的目标控件元素进行定位;

在第一时刻选取与已定位的参考控件元素的各子级控件元素唯一对应的第一本文信息和待定位的目标控件元素的第二文本信息,已定位的参考控件元素为待定位的目标控件元素的父级,所述第一本文信息中包含所述第二文本信息,并且根据包含所述第二文本信息的所述第一本文信息对第二时刻的所述待定位的目标控件元素进行定位。

5.根据权利要求4所述的RPA定位控件元素的组合定位方法,其特征在于,所述第一坐标点包括所述参考控件元素的矩形边中点、矩形中点和矩形顶点中的其中一点。

6.根据权利要求4所述的RPA定位控件元素的组合定位方法,其特征在于,所述第一本文信息中包括文字特征、字体特征、字号特征和颜色特征中的至少一种。

7.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现:如权利要求4至6任一项所述的RPA定位控件元素的组合定位方法。

8.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行:如权利要求4至6任一项所述的RPA定位控件元素的组合定位方法。

说明书 :

RPA定位控件元素的组合定位系统、方法、设备及介质

技术领域

[0001] 本发明涉及RPA软件流程自动机器人技术领域,特别涉及一种RPA定位控件元素的组合定位系统、方法、设备及介质。

背景技术

[0002] RPA(Robotic Process Automation 机器人流程自动化)是一种新型的人工智能的虚拟流程自动化机器人,能够代替或者协助人类在计算机、手机等数字设备中完成重复
性工作任务。VBA(Visual Basic for Applications,宏语言)是基于微软的软件开发平台
Visual Basic产生的一种宏语言,是在Windows桌面应用程序中执行通用自动化(OLE)任务
的一类编程语言。VBA是典型的宏编程语言应用。宏(英文为Macro)由一些独立命令组合在
一起,解释器或编译器在遇到宏语言时会进行解析,将这些小命令或动作转化为一系列指
令。Lisp(List Processing)类语言也具有非常精巧的宏系统,其构建的语法结构能够提供
非常强大的抽象能力和自动化运行机制。
[0003] 从一开始用于实现定时开关系统、日志处理、文档定时复制的批处理脚本和触发器形成了RPA的第一阶段。接着随Word、Excel等软件大量使用诞生了VBA,通过可视化的图
形编程界面和面向对象的程序开发思路可以很方便地将重复性的动作自动化(如对Excel
中每个单元格的数据进行转录和格式调整等操作)。从2015年开始RPA开始真正成型,多家
RPA公司共同创新和努力形成了当前阶段RPA主要的产品形态,其核心创新形态为通过运用
可视化流程拖拽设计以及操作记录等技术来构建流程的方式代替依赖编程构造的自动化
流程的传统方式,对控件操作模块高度封装复用的同时大大降低了RPA软件用户操作门槛,
可使得不具有IT行业背景的普通用户配置符合属于自己实际工作流程的RPA软件机器人,
从而RPA在产业中大范围应用和落地。
[0004] 现阶段的RPA定位器主要包括路径定位器,位置定位器和图像定位器;其中,1)路径定位器:在配置阶段根据将要操作的控件相对于其所在的目标软件界面层次结构作为定
位信息,在运行阶段根据记录的定位信息从目标窗体结构中查找对应的控件;2)位置定位
器:根据将要操作的控件相对于软件主界面左上角偏移位置(x,y)作为定位信息,在运行阶
段获取目标软件界面该偏移位置的控件;3)图像定位器:对将要操作的控件进行截图保存
作为定位信息,在运行阶段通过图像查找获取控件截图在目标软件界面的位置,从而获取
该位置的控件。但在目标软件界面发生变化时,容易发生如下情况:1)路径定位器:当目标
软件窗体层次结构因展示内容会更新发生变化后,导致目标控件在窗体结构中层次与设计
器配置的路径层次不一致而无法对目标控件进行定位;2)位置定位器:当目标控件大小位
置发生稍微变化后,导致该控件相对于软件窗体界面的位置与设计器阶段配置的相对位置
不一致而无法对目标控件进行定位;3)图像定位器:当控件展示效果(颜色、大小、文字)发
生变化后,导致该控件截图与设计器该控件截图不一致而无法对目标控件进行定位。
[0005] 根据相关方案,现阶段的RPA定位器存在较大的局限性,通常在目标软件界面发生变化时无法达到准确的定位效果。而且现阶段的RPA定位器通常是单独实现定位功能,定位
效率和精确度较低。

发明内容

[0006] 本发明旨在至少解决现有技术中存在的技术问题。为此,本发明提出一种RPA定位控件元素的组合定位系统、方法、设备及介质。
[0007] 本发明的第一方面,提供了一种RPA定位控件元素的组合定位系统,所述组合定位系统包括:
[0008] 一个第一级定位器,用于定位出控件元素;
[0009] 至少一个第二级定位器,所述第二级定位器之间递进执行定位任务,每一个所述第二级定位器将所述第一级定位器或上一个所述第二级定位器定位出的控件元素作为已
定位的参考控件元素,选取已定位的参考控件元素与待定位的目标控件元素之间相对不变
化的特征,并根据已定位的参考控件元素和所述相对不变化的特征对待定位的目标控件元
素进行定位;所述第二级定位器包括相对位置定位器、相对路径定位器和文本信息定位器
中的至少一种,其中:
[0010] 所述相对位置定位器用于在第一时刻选取已定位的参考控件元素上的第一坐标点和待定位的目标控件元素的第二坐标点,计算所述第一坐标点与所述第二坐标点之间不
变化的相对偏移位置,其中第一坐标点在所述已定位的参考控件元素上的位置与所述第二
坐标点在所述待定位的目标控件元素上的位置相对应,并且根据所述第一坐标点和所述相
对偏移位置对第二时刻的所述待定位的目标控件元素进行定位;
[0011] 所述相对路径定位器用于在第一时刻选取已定位的参考控件元素的第一路径和待定位的目标控件元素的第二路径,计算所述第一路径和所述第二路径之间不变化的最小
父级窗体层次结构,根据所述第一路径和所述最小父级窗体层次结构对第二时刻的所述待
定位的目标控件元素进行定位;
[0012] 所述文本信息定位器用于在第一时刻选取与已定位的参考控件元素的各子级控件元素唯一对应的第一本文信息和待定位的目标控件元素的第二文本信息,其中至少有一
个所述第一本文信息中包含所述第二文本信息,并且根据包含所述第二文本信息的所述第
一本文信息对第二时刻的所述待定位的目标控件元素进行定位。
[0013] 本发明的第二方面,提供了一种RPA定位控件元素的组合定位方法,包括如下步骤:
[0014] 接收第一级定位器或上一个执行定位任务的第二级定位器定位的控件元素;
[0015] 将所述定位的控件元素作为已定位的参考控件元素,并选取所述已定位的参考控件元素与待定位的目标控件元素之间相对不变化的特征,根据已定位的参考控件元素和所
述相对不变化的特征对待定位的目标控件元素进行定位;选取所述已定位的参考控件元素
与待定位的目标控件元素之间相对不变化的特征,根据已定位的参考控件元素和所述相对
不变化的特征对待定位的目标控件元素进行定位,包括如下至少之一:
[0016] 在第一时刻选取已定位的参考控件元素上的第一坐标点和待定位的目标控件元素的第二坐标点,计算所述第一坐标点与所述第二坐标点之间不变化的相对偏移位置,其
中第一坐标点在所述已定位的参考控件元素上的位置与所述第二坐标点在所述待定位的
目标控件元素上的位置相对应,并且根据所述第一坐标点和所述相对偏移位置对第二时刻
的所述待定位的目标控件元素进行定位;
[0017] 在第一时刻选取已定位的参考控件元素的第一路径和待定位的目标控件元素的第二路径,计算所述第一路径和所述第二路径之间不变化的最小父级窗体层次结构,根据
所述第一路径和所述最小父级窗体层次结构对第二时刻的所述待定位的目标控件元素进
行定位;
[0018] 在第一时刻选取与已定位的参考控件元素的各子级控件元素唯一对应的第一本文信息和待定位的目标控件元素的第二文本信息,其中至少有一个所述第一本文信息中包
含所述第二文本信息,并且根据包含所述第二文本信息的所述第一本文信息对第二时刻的
所述待定位的目标控件元素进行定位。
[0019] 本发明的第三方面,提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现:如上述的
RPA定位控件元素的组合定位方法。
[0020] 本发明的第四方面,提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行:如上述的RPA定位控件元素的组合定位方法。
[0021] 根据本发明的实施例,至少具有如下技术效果:
[0022] 本发明的第一方面提供了一种RPA定位控件元素的组合定位系统,通过第一级定位器和至少一个第二级定位器结合的方式以到达适应目标软件灵活多变的情况下仍能精
准定位目标元素的功能,增加定位器定位功能的普遍适应性,通过灵活的组合方式能提高
定位准确性、提高定位效率。而且本系统中的第二级定位器根据选取的已定位的参考控件
元素和待定位的目标控件元素之间相对不变化的特征,然后基于已定位的参考控件元素和
相对不变化的特征对待定位的目标控件元素进行定位,相较于相关的方案,在目标软件界
面发生变化时,仍然能够达到准确的定位效果。
[0023] 可以理解的是,上述第二方面至第四方面与相关技术相比存在的有益效果与上述第一方面与相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在
此不再赘述。
[0024] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0025] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0026] 图1为本发明一个实施例提供的一种组合定位系统的结构示意图;
[0027] 图2为本发明一个实施例提供的相对位置定位器的配置阶段的示意图;
[0028] 图3为本发明另外一个实施例提供的相对位置定位器的配置阶段和运行阶段的示意图;
[0029] 图4为本发明一个实施例提供的相对路径定位器的运行示意图;
[0030] 图5为本发明一个实施例提供的一种组合定位系统的运行示意图;
[0031] 图6本发明一个实施例提供的一种RPA定位控件元素的组合定位方法的流程示意图。

具体实施方式

[0032] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附
图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0033] 在介绍本发明实施例之前,先对本发明的相关技术方案进行介绍:现阶段的RPA定位器主要包括路径定位器,位置定位器和图像定位器;其中,
[0034] 1)路径定位器:在配置阶段根据将要操作的控件相对于其所在的目标软件界面层次结构作为定位信息,在运行阶段根据记录的定位信息从目标窗体结构中查找对应的控
件;
[0035] 2)位置定位器:根据将要操作的控件相对于软件主界面左上角偏移位置(x,y)作为定位信息,在运行阶段获取目标软件界面该偏移位置的控件;
[0036] 3)图像定位器:对将要操作的控件进行截图保存作为定位信息,在运行阶段通过图像查找获取控件截图在目标软件界面的位置,从而获取该位置的控件。
[0037] 根据相关方案,现阶段的RPA定位器存在较大的局限性,通常在目标软件界面发生变化时无法达到准确的定位效果,主要表现如下:
[0038] 1)路径定位器:当目标软件窗体层次结构因展示内容会更新发生变化后,导致目标控件在窗体结构中层次与设计器配置的路径层次不一致而无法对目标控件进行定位;
[0039] 2)位置定位器:当目标控件大小位置发生稍微变化后,导致该控件相对于软件窗体界面的位置与设计器阶段配置的相对位置不一致而无法对目标控件进行定位;
[0040] 3)图像定位器:当控件展示效果(颜色、大小、文字)发生变化后,导致该控件截图与设计器该控件截图不一致而无法对目标控件进行定位。
[0041] 而且根据相关方案,定位器通常是单独实现功能,定位效率和精确度较低。
[0042] 参照图1,本发明的一个实施例,提供了一种RPA定位控件元素的组合定位系统,组合定位系统包括:
[0043] 一个第一级定位器,用于定位出控件元素;
[0044] 至少一个第二级定位器,第二级定位器之间递进执行定位任务,每一个第二级定位器将第一级定位器或上一个第二级定位器定位出的控件元素作为已定位的参考控件元
素,选取已定位的参考控件元素与待定位的目标控件元素之间相对不变化的特征,并根据
已定位的参考控件元素和相对不变化的特征对待定位的目标控件元素进行定位。
[0045] 在本实施例中,组合定位系统并不是一个可单独实现功能的定位器,而是包括多个定位器的一个动态组合容器。本实施例的组合定位系统是将各个定位器进行规律组合,
以上一个定位器的输出的定位结果作为已定位的参考控件元素,然后以已定位的参考控件
元素作为下一个定位器的参考对象,使下一个定位器依据已定位的参考控件元素对待定位
的目标控件元素进行定位。而且,相较于相关方案提供的定位器在目标软件界面发生变化
时无法达到准确的定位效果,在本实施例的第二级定位器选取已定位的参考控件元素与待
定位的目标控件元素之间相对不变化的特征,然后根据已定位的参考控件元素以及相对不
变化的特征对待定位的目标控件元素进行定位,在目标软件界面发生变化时,仍然能够达
到准确的定位效果。本系统实施例的组合定位系统的组合方式通常需要用户根据控件元素
所在界面的变化规律来进行配置,本实施例不作任何限制。
[0046] 在本实施例中,组合定位系统为多个定位器的集合容器,在RPA软件的配置期阶段,用户负责根据界面变化规律将一组实际定位器按序添加到组合定位系统中,在RPA运行
期阶段,该组合定位系统按序一一执行内部配置多个定位器,若其中有一个定位器未定位
出控件元素,则表示该组合定位系统定位失败。组合定位系统中执行流程为:通过内部前一
个定位器执行任务后得到一个控件元素(用标识符号Des1来表示)后,将该Des1作为第二个
的定位器的参考对象(即已定位的参考控件元素,用标识符号Src2表示),然后执行第二个
定位器的定位任务得到一个控件元素(Des2),再将Des2作为第三个定位器的参考对象
(Src3),执行第三个定位器得到目标元素(Des3),依次执行,直至最后一个定位器执行完
成,得到组合定位系统的最后一个定位器对待定位的目标控件元素的定位结果(Des)。由于
组合定位系统内部除第一个第一级定位器外都需要以上一个定位器输出的已定位的参考
控件元素作为参考对象,因此其中任何一个定位器执行未定位到控件元素,都将视为组合
定位系统的定位失败。组合定位系统在配置恰当的情况下定位效率比单一定位器定位结果
更为精准,更加适应目标软件变化情况,且能提供定位效率(如:从一个大容器里面的所有
控件获取拥有某文字信息的元素A,比先通过路径定位器定位到大容器内的小容器,再通过
小容器的文本查找定位元素A要慢得多,因为大容器中文本信息往往很多,会增加程序遍历
次数,而路径定位器定位效率往往比文字查找效率高的多)。
[0047] 在本发明的一些实施例中,由于组合定位系统内部除第一个第一级定位器外都需要使用上一个定位器输出的已定位的参考控件元素作为参考对象,因此将现有的位置定位
器、路径定位器、图像定位器中的其中一个作为组合定位系统之中的第一级定位器而进行
配置。
[0048] 在一些实施例中,第二级定位器包括相对位置定位器、相对路径定位器和文本信息定位器中的至少一种,其中:
[0049] 第一、相对位置定位器用于在第一时刻选取已定位的参考控件元素上的第一坐标点和待定位的目标控件元素的第二坐标点,计算第一坐标点与第二坐标点之间不变化的相
对偏移位置,其中第一坐标点在已定位的参考控件元素上的位置与第二坐标点在待定位的
目标控件元素上的位置相对应,并且根据第一坐标点和相对偏移位置对第二时刻的待定位
的目标控件元素进行定位。
[0050] 需要注意的是,由于软件界面主窗体经常性会发生变化,因此引入第一时刻和第二时刻两个时间点用以说明变化之前和变化之后的情况,其中第二时刻发生在第一时刻之
后。与相关方案提供的位置定位器的配置和执行过程相似,但位置定位器是利用目标对象
(相当于本实施例的待定位的目标控件元素)相对于软件界面主窗体位置作为定位信息,其
参考对象为固定不变的主窗体左上角所在点为原点,记录目标对象左上角相对于原点的偏
移坐标以及目标对象的大小,因其参考对象固定,在实际应用中,现有位置定位器往往会因
分辨率、缩放、主窗体大小变化而导致定位失效。而本实例提供的相对位置定位器的已定位
的参考控件元素可灵活配置,可针对系统软件环境变化中找寻与待定位的目标控件对象之
间具备相对不变的特征点的控件元素作为已定位的参考控件元素,然后通过已定位的参考
控件元素和两者之间相对不变的特征来定位目标对象在主窗体上的位置。以下提供一组实
例,如图2示出:
[0051] (1)相对位置定位器的配置阶段:先获取已定位的参考控件元素对应参考矩形(相对于主窗体坐标系的坐标(x,y)以及元素高度(h)、宽度(w)形成的矩形信息,求取待定位的
目标控件元素在目标软件主窗体上位置时,常用矩形来表示控件元素,此点属于本领域的
公知常识)和待定位的目标控件元素对应目标矩形在主窗体坐标系上的各位置的坐标点。
以两个矩形左上角的矩形顶点为例,然后选取参考矩形的第一坐标点和目标矩形的第二坐
标点,且选取出的两个坐标点的相对偏移位置不因环境因素变化而变化,记录该两个坐标
点相对偏移位置。
[0052] (2)相对位置定位器的运行阶段:通过已定位的参考控件元素对应的参考矩形,获取第一坐标点,通过没有发生变化的偏移位置计算出待定位的目标控件元素对应的目标矩
形上的第二坐标点,最后基于第二坐标点,再从窗体结构中获取与该坐标点相近的控件元
素作为定位成功的目标控件元素。
[0053] 在本实施例中,第一坐标点包括参考矩形的矩形顶点、矩形边中点和矩形中点之中的任意一个。如图3所示(图3中Src表示参考矩形,Des表示目标矩形),如果在配置阶段以
参考矩形与目标矩形的四个顶点各取其一作为第一坐标点p1和第二坐标点p2,在运行阶段
由于目标矩形的面积扩张,其四个顶点和中心点的位置都发生变化,这种情况下,将无法通
过位置计算来准确找到待定位的目标控件元素所在的位置,但上图标注的第一坐标点p1和
第二坐标点p2点在该变化中,该两点的相对偏移位置并未发生变化,因此矩形各边的中点
也同样可也作为配置坐标点使用,用来适应更多的界面变化情况。而在实际应用中,需根据
目标软件变化规律来合理配置第一、第二坐标点,此处不作限定。
[0054] 在一些实施例,还设置有容差值,用于存在位置偏差的情况下仍能准确定位到待定位的目标控件元素。具体的实施方式如下:根据上述实施例内容,当通过相对偏移位置计
算出待定位的目标控件元素对应目标矩形的第二坐标点之后,由于在配置阶段已经知道第
二坐标点位于待定位的目标控件元素对应目标矩形中的哪一个坐标点,因此在运行阶段能
得到第二坐标点在待定位的目标控件元素对应目标矩形的方位,向矩形中心点坐标做容差
值偏移计算得到中心点坐标,再从窗体结构中获取与该中心点坐标相近的元素作为最终定
位的目标控件元素。在基于界面变化情况下,通过矩形的中心点坐标寻找相近元素作为最
终定位的目标控件元素的技术为本领域公知常识,此处不再赘述。
[0055] 第二、相对路径定位器用于在第一时刻选取已定位的参考控件元素的第一路径和待定位的目标控件元素的第二路径,计算第一路径和第二路径之间不变化的最小父级窗体
层次结构,根据第一路径和最小父级窗体层次结构对第二时刻的待定位的目标控件元素进
行定位。
[0056] 与相关方案提供的路径定位器的配置和执行过程相似,都是根据窗体元素层次结构通过记录的层次路径计算出待定位的目标控件元素,但路径定位器是将主窗体的固定路
径作为参考对象,以整个窗体结构层次作为计算范围,从而导致主窗体层次结构任意变化,
都可能导致现有路径定位器失效。而实施例只需已定位的参考控件元素与待定位的目标控
件元素的最小父级窗体层次结构未发生变化,就能实现定位功能,相较于路径定位器,本实
施例能够极大缩小路径计算的窗体结构层次范围、提高了定位准确性。以下提供一组实例,
如图4示出:
[0057] 以百度首页作为举例,将“搜索输入框”作为待定位的目标控件元素,相关方案提供的路径定位器记录其相对于网页(主窗体)的结构层次HTML[1]/BODY[1]/DIV[1]/DIV
[1]/DIV[5]/DIV[1]/DIV[1]/FORM[1]/SPAN[1]/INPUT[1],INPUT[1]为该“搜索输入框”,但
百度首页更新窗体元素层次结构发生变化,改变以上任何一级标签序号,增加或减少窗体
元素结构都会导致现有路径定位器无法正确定位到该“搜索输入框”。由于图4中“百度一
下”按钮的文字不发生变化,因此将“百度一下”按钮作为已定位的参考控件元素,该“百度
一下”按钮相对于网页的结构层次为HTML[1]/BODY[1]/DIV[1]/DIV[1]/DIV[5]/DIV[1]/
DIV[1]/FORM[1]/SPAN[2]/INPUT[1],不难发现该“百度一下”按钮与“搜索输入框”拥有共
同的父级FORM[1],通过路径计算可得出相对路径为:./parent::SPAN/parent::FORM/./
SPAN[1]/INPUT[1],由此可将不发生变化的窗体层次结构缩小到FORM[1]结构内,此结构外
的任何结构发生变化都不会影响FORM[1]内部结构层次,因此本实施例的相对位置定位器
能够准确定位出目标控件元素。
[0058] 第三、文本信息定位器用于在第一时刻选取与已定位的参考控件元素的各子级控件元素唯一对应的第一本文信息和待定位的目标控件元素的第二文本信息,其中至少有一
个第一本文信息中包含第二文本信息,并且根据包含第二文本信息的第一本文信息对第二
时刻的待定位的目标控件元素进行定位。
[0059] 文本信息定位器选择已定位的参考控件元素(这里使用Src表示)为待定位的目标控件元素(这里使用Des表示)的父级(即Src包含了Des,通常情况下Des所在的区域在Src的
区域内)。首先通过获取并记录Src所有内部子级控件元素的第一文本信息,然后通过各个
子级控件元素的第一文本信息分别与第二文本信息(在配置阶段时,设置Des的文本信息)
作匹配,若各个子级控件元素对应的第一文本信息之中有包含该第二文本信息,则拥有该
第二文本信息的第一文本信息对应的子级控件元素便被定位为目标控件元素Des。
[0060] 由于软件界面样式多变,若文本信息仅是文字特征或字体特征,则单纯的通过文字特征或字体特征从一个大的Src内找对应的文本相同的子级元素可能会找到多个符合要
求的子级元素。因此作为一种可选的实施方式,第一文本信息包括文字特征、字体特征、字
号特征和颜色特征中的至少一种。本方案在定位条件中加入了“文字”、“字体”、“字号”以及
“颜色”等文本信息,用来增加定位条件,多个定位条件共同辅助定位可极大减少定位到多
个目标的可能性,能够提高定位的准确性。
[0061] 参照图5,为了便于理解,提供一个实施例,以某网站的详情页面举例:
[0062] 假设以子容器Aa1(这里的容器是指的网站中的控件元素)为待定位的目标控件元素来获取该手机拥有的颜色样式,由于手机详情信息更新变化较快,通常容器A中所展示手
机详情内容不一致,因此容器A内的结构是有所变化的,但容器A相对于顶层页面结构的路
径是相对稳定的,因此先将配置第一个定位器(即第一级定位器中的一个路径定位器)添加
到组合定位系统中用以定位容器A,由于目标是获取手机颜色内容,可以发现颜色内容子容
器Aa1的前面拥有一个文字不变化的已定位的参考控件元素Des(图5中为“选择颜色”),可
以在配置第二个定位器(上述实施例中的文本信息定位器)到组合定位系统,通过文字信息
“选择颜色”在容器A中定位到Des(图5中为“选择颜色”),而在父级容器Aa(需要注意的是,
这里的父级容器Aa是子容器Aa1和参考控件元素Des的父级容器)中Des(图5中为“选择颜
色”)与子容器Aa1相对于其父级容器Aa来说,其路径结构是基本不变化的,因此再配置第三
个定位器(上述实施例的相对路径定位器)到组合定位系统中,通过Des找到子容器Aa1,从
而达到定位待定位的目标控件元素的任务,在这种组合定位系统的情况下,无论容器A中的
元素路径结构如何变化,都将能成功定位到目标控件元素。
[0063] 参照图6,基于上述实施例,本申请还提供了一种RPA定位控件元素的组合定位方法,包括如下步骤:
[0064] 步骤S100、接收第一级定位器或上一个执行定位任务的第二级定位器定位的控件元素;
[0065] 步骤S200、将定位的控件元素作为已定位的参考控件元素,并选取已定位的参考控件元素与待定位的目标控件元素之间相对不变化的特征,根据已定位的参考控件元素和
相对不变化的特征对待定位的目标控件元素进行定位。
[0066] 在一些实施例中,步骤S200中的选取已定位的参考控件元素与待定位的目标控件元素之间相对不变化的特征,根据已定位的参考控件元素和相对不变化的特征对待定位的
目标控件元素进行定位,包括如下至少之一:
[0067] 在第一时刻选取已定位的参考控件元素上的第一坐标点和待定位的目标控件元素的第二坐标点,计算第一坐标点与第二坐标点之间不变化的相对偏移位置,其中第一坐
标点在已定位的参考控件元素上的位置与第二坐标点在待定位的目标控件元素上的位置
相对应,并且根据第一坐标点和相对偏移位置对第二时刻的待定位的目标控件元素进行定
位;
[0068] 或者,在第一时刻选取已定位的参考控件元素的第一路径和待定位的目标控件元素的第二路径,计算第一路径和第二路径之间不变化的最小父级窗体层次结构,根据第一
路径和最小父级窗体层次结构对第二时刻的待定位的目标控件元素进行定位;
[0069] 或者,在第一时刻选取与已定位的参考控件元素的各子级控件元素唯一对应的第一本文信息和待定位的目标控件元素的第二文本信息,其中至少有一个第一本文信息中包
含第二文本信息,并且根据包含第二文本信息的第一本文信息对第二时刻的待定位的目标
控件元素进行定位。
[0070] 在一些实施例中,第一坐标点包括参考控件元素的矩形边中点、矩形中点和矩形顶点中的其中一点。
[0071] 在一些实施例中,第一本文信息中包括文字特征、字体特征、字号特征和颜色特征中的至少一种。
[0072] 需要注意的是,本方法实施例与上述系统实施例是基于相同的发明构思,因此上述系统实施例的相关方案内容同样适用于本方法实施例,因此,此处不再赘述。
[0073] 本发明的一个实施例,提供了一种电子设备,该设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
[0074] 处理器和存储器可以通过总线或者其他方式连接。
[0075] 存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态
存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施
方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络
连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网
及其组合。
[0076] 需要说明的是,本实施例中的电子设备能够构成图1所示实施例中的系统架构的一部分,这些实施例均属于相同的发明构思,因此这些实施例具有相同的实现原理以及技
术效果,此处不再详述。
[0077] 实现上述实施例的RPA定位控件元素的组合定位方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例方法,例如,执行以上描述的图6
中的方法步骤S100至步骤S200。
[0078] 以上所描述的终端实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。
可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0079] 此外,本申请实施例的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执
行,例如,被上述电子设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例
中的RPA定位控件元素的组合定位方法,例如,执行以上描述的图6中的方法步骤S100至步
骤S200。
[0080] 本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为
由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或
者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机
可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领
域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、
数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和
不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、
CD‑ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或
者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通
技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波
或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0081] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结
构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的
示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特
点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0082] 尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本
发明的范围由权利要求及其等同物限定。