RPA定位控件元素的组合定位系统、方法、设备及介质转让专利
申请号 : CN202111041123.6
文献号 : CN113495775B
文献日 : 2021-12-03
发明人 : 梁威 , 匡雄峰
申请人 : 长沙博为软件技术股份有限公司
摘要 :
权利要求 :
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定位控件元素的组合定位系统、方法、设备及介质
技术领域
背景技术
性工作任务。VBA(Visual Basic for Applications,宏语言)是基于微软的软件开发平台
Visual Basic产生的一种宏语言,是在Windows桌面应用程序中执行通用自动化(OLE)任务
的一类编程语言。VBA是典型的宏编程语言应用。宏(英文为Macro)由一些独立命令组合在
一起,解释器或编译器在遇到宏语言时会进行解析,将这些小命令或动作转化为一系列指
令。Lisp(List Processing)类语言也具有非常精巧的宏系统,其构建的语法结构能够提供
非常强大的抽象能力和自动化运行机制。
形编程界面和面向对象的程序开发思路可以很方便地将重复性的动作自动化(如对Excel
中每个单元格的数据进行转录和格式调整等操作)。从2015年开始RPA开始真正成型,多家
RPA公司共同创新和努力形成了当前阶段RPA主要的产品形态,其核心创新形态为通过运用
可视化流程拖拽设计以及操作记录等技术来构建流程的方式代替依赖编程构造的自动化
流程的传统方式,对控件操作模块高度封装复用的同时大大降低了RPA软件用户操作门槛,
可使得不具有IT行业背景的普通用户配置符合属于自己实际工作流程的RPA软件机器人,
从而RPA在产业中大范围应用和落地。
位信息,在运行阶段根据记录的定位信息从目标窗体结构中查找对应的控件;2)位置定位
器:根据将要操作的控件相对于软件主界面左上角偏移位置(x,y)作为定位信息,在运行阶
段获取目标软件界面该偏移位置的控件;3)图像定位器:对将要操作的控件进行截图保存
作为定位信息,在运行阶段通过图像查找获取控件截图在目标软件界面的位置,从而获取
该位置的控件。但在目标软件界面发生变化时,容易发生如下情况:1)路径定位器:当目标
软件窗体层次结构因展示内容会更新发生变化后,导致目标控件在窗体结构中层次与设计
器配置的路径层次不一致而无法对目标控件进行定位;2)位置定位器:当目标控件大小位
置发生稍微变化后,导致该控件相对于软件窗体界面的位置与设计器阶段配置的相对位置
不一致而无法对目标控件进行定位;3)图像定位器:当控件展示效果(颜色、大小、文字)发
生变化后,导致该控件截图与设计器该控件截图不一致而无法对目标控件进行定位。
效率和精确度较低。
发明内容
定位的参考控件元素,选取已定位的参考控件元素与待定位的目标控件元素之间相对不变
化的特征,并根据已定位的参考控件元素和所述相对不变化的特征对待定位的目标控件元
素进行定位;所述第二级定位器包括相对位置定位器、相对路径定位器和文本信息定位器
中的至少一种,其中:
变化的相对偏移位置,其中第一坐标点在所述已定位的参考控件元素上的位置与所述第二
坐标点在所述待定位的目标控件元素上的位置相对应,并且根据所述第一坐标点和所述相
对偏移位置对第二时刻的所述待定位的目标控件元素进行定位;
父级窗体层次结构,根据所述第一路径和所述最小父级窗体层次结构对第二时刻的所述待
定位的目标控件元素进行定位;
个所述第一本文信息中包含所述第二文本信息,并且根据包含所述第二文本信息的所述第
一本文信息对第二时刻的所述待定位的目标控件元素进行定位。
述相对不变化的特征对待定位的目标控件元素进行定位;选取所述已定位的参考控件元素
与待定位的目标控件元素之间相对不变化的特征,根据已定位的参考控件元素和所述相对
不变化的特征对待定位的目标控件元素进行定位,包括如下至少之一:
中第一坐标点在所述已定位的参考控件元素上的位置与所述第二坐标点在所述待定位的
目标控件元素上的位置相对应,并且根据所述第一坐标点和所述相对偏移位置对第二时刻
的所述待定位的目标控件元素进行定位;
所述第一路径和所述最小父级窗体层次结构对第二时刻的所述待定位的目标控件元素进
行定位;
含所述第二文本信息,并且根据包含所述第二文本信息的所述第一本文信息对第二时刻的
所述待定位的目标控件元素进行定位。
RPA定位控件元素的组合定位方法。
准定位目标元素的功能,增加定位器定位功能的普遍适应性,通过灵活的组合方式能提高
定位准确性、提高定位效率。而且本系统中的第二级定位器根据选取的已定位的参考控件
元素和待定位的目标控件元素之间相对不变化的特征,然后基于已定位的参考控件元素和
相对不变化的特征对待定位的目标控件元素进行定位,相较于相关的方案,在目标软件界
面发生变化时,仍然能够达到准确的定位效果。
此不再赘述。
附图说明
具体实施方式
图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
件;
素,选取已定位的参考控件元素与待定位的目标控件元素之间相对不变化的特征,并根据
已定位的参考控件元素和相对不变化的特征对待定位的目标控件元素进行定位。
以上一个定位器的输出的定位结果作为已定位的参考控件元素,然后以已定位的参考控件
元素作为下一个定位器的参考对象,使下一个定位器依据已定位的参考控件元素对待定位
的目标控件元素进行定位。而且,相较于相关方案提供的定位器在目标软件界面发生变化
时无法达到准确的定位效果,在本实施例的第二级定位器选取已定位的参考控件元素与待
定位的目标控件元素之间相对不变化的特征,然后根据已定位的参考控件元素以及相对不
变化的特征对待定位的目标控件元素进行定位,在目标软件界面发生变化时,仍然能够达
到准确的定位效果。本系统实施例的组合定位系统的组合方式通常需要用户根据控件元素
所在界面的变化规律来进行配置,本实施例不作任何限制。
期阶段,该组合定位系统按序一一执行内部配置多个定位器,若其中有一个定位器未定位
出控件元素,则表示该组合定位系统定位失败。组合定位系统中执行流程为:通过内部前一
个定位器执行任务后得到一个控件元素(用标识符号Des1来表示)后,将该Des1作为第二个
的定位器的参考对象(即已定位的参考控件元素,用标识符号Src2表示),然后执行第二个
定位器的定位任务得到一个控件元素(Des2),再将Des2作为第三个定位器的参考对象
(Src3),执行第三个定位器得到目标元素(Des3),依次执行,直至最后一个定位器执行完
成,得到组合定位系统的最后一个定位器对待定位的目标控件元素的定位结果(Des)。由于
组合定位系统内部除第一个第一级定位器外都需要以上一个定位器输出的已定位的参考
控件元素作为参考对象,因此其中任何一个定位器执行未定位到控件元素,都将视为组合
定位系统的定位失败。组合定位系统在配置恰当的情况下定位效率比单一定位器定位结果
更为精准,更加适应目标软件变化情况,且能提供定位效率(如:从一个大容器里面的所有
控件获取拥有某文字信息的元素A,比先通过路径定位器定位到大容器内的小容器,再通过
小容器的文本查找定位元素A要慢得多,因为大容器中文本信息往往很多,会增加程序遍历
次数,而路径定位器定位效率往往比文字查找效率高的多)。
器、路径定位器、图像定位器中的其中一个作为组合定位系统之中的第一级定位器而进行
配置。
对偏移位置,其中第一坐标点在已定位的参考控件元素上的位置与第二坐标点在待定位的
目标控件元素上的位置相对应,并且根据第一坐标点和相对偏移位置对第二时刻的待定位
的目标控件元素进行定位。
后。与相关方案提供的位置定位器的配置和执行过程相似,但位置定位器是利用目标对象
(相当于本实施例的待定位的目标控件元素)相对于软件界面主窗体位置作为定位信息,其
参考对象为固定不变的主窗体左上角所在点为原点,记录目标对象左上角相对于原点的偏
移坐标以及目标对象的大小,因其参考对象固定,在实际应用中,现有位置定位器往往会因
分辨率、缩放、主窗体大小变化而导致定位失效。而本实例提供的相对位置定位器的已定位
的参考控件元素可灵活配置,可针对系统软件环境变化中找寻与待定位的目标控件对象之
间具备相对不变的特征点的控件元素作为已定位的参考控件元素,然后通过已定位的参考
控件元素和两者之间相对不变的特征来定位目标对象在主窗体上的位置。以下提供一组实
例,如图2示出:
目标控件元素在目标软件主窗体上位置时,常用矩形来表示控件元素,此点属于本领域的
公知常识)和待定位的目标控件元素对应目标矩形在主窗体坐标系上的各位置的坐标点。
以两个矩形左上角的矩形顶点为例,然后选取参考矩形的第一坐标点和目标矩形的第二坐
标点,且选取出的两个坐标点的相对偏移位置不因环境因素变化而变化,记录该两个坐标
点相对偏移位置。
形上的第二坐标点,最后基于第二坐标点,再从窗体结构中获取与该坐标点相近的控件元
素作为定位成功的目标控件元素。
参考矩形与目标矩形的四个顶点各取其一作为第一坐标点p1和第二坐标点p2,在运行阶段
由于目标矩形的面积扩张,其四个顶点和中心点的位置都发生变化,这种情况下,将无法通
过位置计算来准确找到待定位的目标控件元素所在的位置,但上图标注的第一坐标点p1和
第二坐标点p2点在该变化中,该两点的相对偏移位置并未发生变化,因此矩形各边的中点
也同样可也作为配置坐标点使用,用来适应更多的界面变化情况。而在实际应用中,需根据
目标软件变化规律来合理配置第一、第二坐标点,此处不作限定。
算出待定位的目标控件元素对应目标矩形的第二坐标点之后,由于在配置阶段已经知道第
二坐标点位于待定位的目标控件元素对应目标矩形中的哪一个坐标点,因此在运行阶段能
得到第二坐标点在待定位的目标控件元素对应目标矩形的方位,向矩形中心点坐标做容差
值偏移计算得到中心点坐标,再从窗体结构中获取与该中心点坐标相近的元素作为最终定
位的目标控件元素。在基于界面变化情况下,通过矩形的中心点坐标寻找相近元素作为最
终定位的目标控件元素的技术为本领域公知常识,此处不再赘述。
层次结构,根据第一路径和最小父级窗体层次结构对第二时刻的待定位的目标控件元素进
行定位。
径作为参考对象,以整个窗体结构层次作为计算范围,从而导致主窗体层次结构任意变化,
都可能导致现有路径定位器失效。而实施例只需已定位的参考控件元素与待定位的目标控
件元素的最小父级窗体层次结构未发生变化,就能实现定位功能,相较于路径定位器,本实
施例能够极大缩小路径计算的窗体结构层次范围、提高了定位准确性。以下提供一组实例,
如图4示出:
[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]内部结构层次,因此本实施例的相对位置定位器
能够准确定位出目标控件元素。
个第一本文信息中包含第二文本信息,并且根据包含第二文本信息的第一本文信息对第二
时刻的待定位的目标控件元素进行定位。
区域内)。首先通过获取并记录Src所有内部子级控件元素的第一文本信息,然后通过各个
子级控件元素的第一文本信息分别与第二文本信息(在配置阶段时,设置Des的文本信息)
作匹配,若各个子级控件元素对应的第一文本信息之中有包含该第二文本信息,则拥有该
第二文本信息的第一文本信息对应的子级控件元素便被定位为目标控件元素Des。
求的子级元素。因此作为一种可选的实施方式,第一文本信息包括文字特征、字体特征、字
号特征和颜色特征中的至少一种。本方案在定位条件中加入了“文字”、“字体”、“字号”以及
“颜色”等文本信息,用来增加定位条件,多个定位条件共同辅助定位可极大减少定位到多
个目标的可能性,能够提高定位的准确性。
机详情内容不一致,因此容器A内的结构是有所变化的,但容器A相对于顶层页面结构的路
径是相对稳定的,因此先将配置第一个定位器(即第一级定位器中的一个路径定位器)添加
到组合定位系统中用以定位容器A,由于目标是获取手机颜色内容,可以发现颜色内容子容
器Aa1的前面拥有一个文字不变化的已定位的参考控件元素Des(图5中为“选择颜色”),可
以在配置第二个定位器(上述实施例中的文本信息定位器)到组合定位系统,通过文字信息
“选择颜色”在容器A中定位到Des(图5中为“选择颜色”),而在父级容器Aa(需要注意的是,
这里的父级容器Aa是子容器Aa1和参考控件元素Des的父级容器)中Des(图5中为“选择颜
色”)与子容器Aa1相对于其父级容器Aa来说,其路径结构是基本不变化的,因此再配置第三
个定位器(上述实施例的相对路径定位器)到组合定位系统中,通过Des找到子容器Aa1,从
而达到定位待定位的目标控件元素的任务,在这种组合定位系统的情况下,无论容器A中的
元素路径结构如何变化,都将能成功定位到目标控件元素。
相对不变化的特征对待定位的目标控件元素进行定位。
目标控件元素进行定位,包括如下至少之一:
标点在已定位的参考控件元素上的位置与第二坐标点在待定位的目标控件元素上的位置
相对应,并且根据第一坐标点和相对偏移位置对第二时刻的待定位的目标控件元素进行定
位;
路径和最小父级窗体层次结构对第二时刻的待定位的目标控件元素进行定位;
含第二文本信息,并且根据包含第二文本信息的第一本文信息对第二时刻的待定位的目标
控件元素进行定位。
存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施
方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络
连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网
及其组合。
术效果,此处不再详述。
中的方法步骤S100至步骤S200。
可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
行,例如,被上述电子设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例
中的RPA定位控件元素的组合定位方法,例如,执行以上描述的图6中的方法步骤S100至步
骤S200。
由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或
者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机
可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领
域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、
数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和
不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、
CD‑ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或
者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通
技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波
或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的
示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特
点可以在任何的一个或多个实施例或示例中以合适的方式结合。
发明的范围由权利要求及其等同物限定。