一种RPA系统截图定位方法、装置、设备及介质与流程

文档序号:28749696发布日期:2022-02-08 00:10阅读:342来源:国知局
一种RPA系统截图定位方法、装置、设备及介质与流程
一种rpa系统截图定位方法、装置、设备及介质
技术领域
1.本发明涉及rpa和自动化测试技术领域,尤其涉及一种rpa系统截图定位方法、装置、设备及介质。


背景技术:

2.机器人流程自动化(英文:robotic process automation,简称:rpa)系统是一种应用程序,通过模仿用户在界面的手动操作方式,以软件机器人及人工智能(英文:artificial intelligence,简称:ai)为基础,使得用户手动操作流程自动化。
3.在rpa系统中,界面元素的定位一直是个难题,采用手工写代码来定位虽然可靠、运行速度快,但需要较长的调试时间;通过界面抓取信息定位,因为界面元素内的信息经常变化,这些变化导致抓取的信息失效,使得脚本运行找不到原来抓取的元素;而完全靠截图来定位的方式虽然可以实现,但需要的计算量大,要占用大量系统资源,且运行速度慢,无法在rpa或自动化测试领域中使用。


技术实现要素:

4.本发明实施例提供一种rpa系统截图定位方法、装置、设备及介质,通过获取定位元素截图,回放时根据截图的形状和尺寸寻找定位元素,通过形状和尺寸的比对快速寻找可能的元素与定位元素进行比较,从而提高元素抓取的效率和成功率。
5.第一方面,本发明实施例提供了一种rpa系统截图定位方法,所述方法包括:
6.在rpa流程开发与调试阶段:
7.根据第一选取位置获取定位元素的第一截图区域;记录所述第一截图区域对应的第一截图;所述第一截图区域为所述定位元素的元素图片边框区域;
8.在脚本回放阶段:
9.寻找与所述第一截图的形状和尺寸分别相等的第一元素区域;
10.获取所述第一元素区域对应的第一元素区域截图;将所述第一元素区域截图与所述第一截图进行相似度比对以得到第一比对值;
11.若所述第一比对值达到第一相似度阈值,则将所述第一元素区域内的元素确定为所述定位元素;否则,继续重复上述寻找、获取以及比对的步骤,直至在其它元素区域确定所述定位元素,每个元素区域不重叠。
12.第二方面,本发明实施例提供了一种rpa系统截图定位装置,所述装置包括:
13.获取模块,用于在rpa流程开发与调试阶段根据第一选取位置获取定位元素的第一截图区域;所述第一截图区域为所述定位元素的元素图片边框区域;
14.记录模块,用于在rpa流程开发与调试阶段记录所述第一截图区域对应的第一截图;
15.寻找模块,用于在脚本回放阶段寻找与所述第一截图的形状和尺寸分别相等的第一元素区域;
16.比对模块,用于在脚本回放阶段获取所述第一元素区域对应的第一元素区域截图,将所述第一元素区域截图与所述第一截图进行相似度比对以得到第一比对值;若所述第一比对值达到第一相似度阈值,则将所述第一元素区域内的元素确定为所述定位元素;否则,继续重复上述寻找、获取以及比对的步骤,直至在其它元素区域确定所述定位元素,每个元素区域不重叠。
17.第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明任意实施例所述的rpa系统截图定位方法。
18.第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明任意实施例所述的rpa系统截图定位方法。
19.在本发明实施例提供的技术方案中,在rpa流程开发与调试阶段,对定位元素截图并存储,在脚本回放阶段,通过寻找与定位元素的截图的形状和尺寸分别相等的元素区域,再将元素区域对应的元素区域截图与存储的定位元素截图进行相似度比对以确定定位元素,由于形状和尺寸的比对可以快速筛除掉不符合的元素,仅在形状和尺寸分别相等的元素中进行元素截图的相似度比对,可以大大降低完全由截图来定位的计算量,减少系统资源的占用,且能够有效实现元素的抓取。
附图说明
20.图1是本技术实施例一提供的一种rpa系统截图定位方法的流程图;
21.图2是本技术实施例二提供的一种rpa系统截图定位方法的流程图;
22.图3是本技术实施例三提供的一种rpa系统截图定位方法的流程图;
23.图4是本技术实施例四提供的一种rpa系统截图定位方法的流程图;
24.图5是本技术实施例四提供的元素截图中包含文字的示意图;
25.图6是本技术实施例五提供的一种rpa系统截图定位装置的结构示意图;
26.图7是本技术实施例六提供的一种计算机设备的硬件结构示意图。
具体实施方式
27.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
28.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
29.实施例一
30.图1是本技术实施例一提供的一种rpa系统截图定位方法的流程图,本技术实施例可适用于对rpa系统进行快速截图定位元素的情况,该方法可以由本技术实施例提供的rpa
系统截图定位装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备中。
31.如图1所示,本技术实施例一提供的一种rpa系统截图定位方法,具体包括以下两个阶段的方案:
32.在rpa流程开发与调试阶段:
33.s110,根据第一选取位置获取定位元素的第一截图区域。
34.第一截图区域为定位元素的元素图片边框区域。
35.在实际应用中,第一截图区域能够自动识别定位元素的对应的元素图片的默认边框,元素图片的默认边框通常为矩形,需要说明的是,对于显示为非矩形的元素图片,比如显示为圆形、三角形或其他不规则图形的元素图片,这些元素图片的默认边框通常也为矩形,矩形边框内除圆形、三角形或其他不规则图形的元素以外的区域默认为透明。
36.可选的,rpa系统可以获取开发者的点击位置,将点击位置确定为第一选取位置,根据点击位置确定对应的定位元素,然后获取定位元素的第一截图区域。
37.在实际应用中,开发者对于rpa系统中的每个元素进行截图保存,以便在后续的脚本回放阶段抓取不同的元素。
38.s120,记录第一截图区域对应的第一截图。
39.第一截图保存的是第一截图区域内的图片,记录第一截图包括存储第一截图的图片以及记录第一截图的形状和尺寸,以便后续的脚本回放阶段用于进行截图的相似度比对。
40.当开发者选中当前界面的某个元素时,比如采用单击的方式点击某个元素,rpa系统会自动对该元素截图,类似于开发者工具常用的抓取元素方式。
41.在脚本回放阶段:
42.s210,寻找与第一截图的形状和尺寸分别相等的第一元素区域。
43.当脚本回放需要抓取定位元素时,根据记录的第一截图的形状和尺寸快速查找形状和尺寸分别相等的第一元素区域,可以快速筛选出形状和尺寸分别相等的第一元素区域作为候选,进一步根据截图相似度的比对结果来确定是否为定位元素,降低完全根据截图的相似度来寻找定位元素的计算量。
44.在实际应用中,由于元素图片通常为矩形,因此记录的第一截图为矩形,矩形的大小通过长度和宽度可以确定。对于元素的形状和尺寸,通常会通过代码进行描述,以矩形为例,在查找第一元素区域时,通过遍历代码,查找长度和宽度与第一截图分别相等的元素,即可快速寻找出第一元素区域。
45.s220,获取第一元素区域对应的第一元素区域截图。
46.第一元素区域截图是第一元素区域内的图片。
47.s230,将第一元素区域截图与第一截图进行相似度比对以得到第一比对值。
48.将第一元素区域截图与第一截图进行相似度比对来进一步判断第一元素区域内的元素是否为定位元素。
49.其中,根据第一元素区域截图和第一截图计算相似度,可以采用卷积神经网络模型等图像相似度算法,这里就不再赘述。
50.s240,判断第一对比值是否达到第一相似度阈值。
51.为了确保定位元素抓取的准确性,第一相似度阈值通常设置为一个较高的值,比如90%。第一相似度阈值不设置成100%以使得截图匹配时有一定的容错性。
52.s250,若第一比对值达到第一相似度阈值,则将第一元素区域内的元素确定为定位元素;否则,继续重复上述寻找、获取以及比对的步骤,直至在其它元素区域确定定位元素。
53.其中,每个元素区域不重叠。在实际应用中,每个元素区域通过代码进行描述,因此遍历代码时每个元素区域是不重叠的,并且在遍历时无需逐行比较代码,只需要比较形状和大小来确定第一元素区域。当第一比对值未达到第一相似度阈值时,继续重复寻找、获取以及比对的步骤,直至确定出定位元素。
54.可选的,为了避免元素区域在rpa流程开发与调试阶段以及在脚本回放阶段的尺寸变化导致元素抓取失败,在rpa流程开发与调试阶段,预先将rpa系统的界面设置为预定尺寸,在脚本回放阶段,也预先将rpa系统的界面设置为该预定尺寸。通过对rpa系统界面的尺寸固定,使得rpa系统界面的元素尺寸保持一致。
55.需要注意的是,若仅凭元素截图的比对来实现元素抓取,则在对定位元素选择上尽量避开界面上变化的元素,比如会闪烁变化的元素,可输入文字或勾选状态的元素,以避免在相似度比对时引元素状态变化导致抓取失败。
56.本技术实施例提供的技术方案,在rpa流程开发与调试阶段,对定位元素截图并存储,在脚本回放阶段,通过寻找与定位元素的截图的形状和尺寸分别相等的元素区域,再将元素区域对应的元素区域截图与存储的定位元素截图进行相似度比对以确定定位元素,由于形状和尺寸的比对可以快速筛除掉不符合的元素,仅在形状和尺寸分别相等的元素中进行元素截图的相似度比对,可以大大降低完全由截图来定位的计算量,减少系统资源的占用,且能够有效实现元素的抓取。
57.实施例二
58.由于rpa系统同一界面中可能存在多个相同的元素,比如:多个相同的空白输入框,若第一截图为其中一个输入框的截图,则可能存在与第一截图相同的多个元素区域,从而影响定位元素的抓取,针对这种情况,实施例二提供了另一种rpa系统截图定位方法,在上述实施例的基础上,通过记录两个不同截图区域的截图以及记录两个截图区域之间的相对位置,通过两个截图的相似度比对以提高定位元素抓取的准确性。
59.如图2所示,本技术实施例二提供的一种rpa系统截图定位方法,具体包括以下两个阶段的方案:
60.在rpa流程开发与调试阶段:
61.s310,根据第一选取位置获取定位元素的第一截图区域,记录第一截图区域对应的第一截图。
62.第一截图区域为定位元素的元素图片边框区域。
63.s320,基于第一截图区域,获取扩大截图范围后的第二截图区域,记录第二截图区域对应的第二截图以及第一截图区域位于第二截图区域中的相对位置。
64.扩大截图范围后的第二截图区域包含第一截图区域。
65.可选的,扩大截图范围的方式可以是按照定位元素的位置自动将相邻元素的区域包含进来得到第二截图区域,也可以根据开发者选中的定位元素以外的其他元素自动将对
应元素的区域包含进来得到第二截图区域,还可以根据开发者手动拖拽定位元素的第一截图区域的边缘,沿着一个方向或向四周自动扩大将扩大方向上的元素包含进来得到第二截图区域。
66.在脚本回放阶段:
67.s410,寻找与第一截图的形状和尺寸分别相等的第一元素区域。
68.通过对形状和尺寸的筛选,可以加快元素筛选的速度,只在形状和尺寸分别相等的情况下,进一步比对元素图片的相似度。
69.s420,获取第一元素区域对应的第一元素区域截图,将第一元素区域截图与第一截图进行相似度比对以得到第一比对值。
70.s430,判断第一比对值是否达到第一相似度阈值。
71.为了确保定位元素抓取的准确性,第一相似度阈值通常设置为一个较高的值,比如90%。第一相似度阈值不设置成100%以使得截图匹配时有一定的容错性。
72.s440,若第一比对值达到第一相似度阈值,则根据第一截图区域位于第二截图区域中的相对位置,确定元素区域与第二截图区域对应的第二元素区域。
73.在第一比对值达到第一相似度阈值后,进一步根据扩大的第二截图区域的范围确定第二元素区域,通过两次的截图比对以提高定位元素抓取的准确性。若第一比对值未达到第一相似度阈值,则直接排除,无需比对第二元素区域,以节省计算量。
74.s450,获取第二元素区域对应的第二元素区域截图,将第二元素区域截图与第二截图进行相似度比对以得到第二比对值。
75.在第一比对值达到第一相似度阈值的基础上,进一步比对第二元素区域截图与第二截图的相似度,双重验证来判断第一元素区域内的元素是否为定位元素。
76.s460,判断第二比对值是否达到第二相似度阈值。
77.与第一相似度阈值类似,为了确保定位元素抓取的准确性,第二相似度阈值通常设置为一个较高的值,比如90%。第二相似度阈值不设置成100%以使得截图匹配时有一定的容错性。第一相似度阈值与第二相似度阈值可以设置为相同的值,也可以设置为不同的值。
78.s470,若第二比对值达到第二相似度阈值,则将第一元素区域内的元素确定为定位元素。
79.在与第一截图和第二截图的相似度比对中都达到相似度阈值要求后,将第一元素区域内的元素确定为定位元素,提高了定位元素抓取的准确性。
80.若第一比对值达到第一相似度阈值但第二比对值未达到第二相似度阈值,则表明第一元素区域内的元素可能在相应界面存在相同形状和尺寸的其他元素。
81.若第一比对值未达到第一相似度阈值或第二比对值未达到第二相似度阈值,则继续重复上述寻找、获取以及比对的步骤,直至在其它元素区域确定定位元素,每个元素区域不重叠。
82.可选的,为了避免元素区域在rpa流程开发与调试阶段以及在脚本回放阶段的尺寸变化导致元素抓取失败,在rpa流程开发与调试阶段,预先将rpa系统的界面设置为预定尺寸,在脚本回放阶段,也预先将rpa系统的界面设置为该预定尺寸。通过对rpa系统界面的尺寸固定,使得rpa系统界面的元素尺寸保持一致。
83.需要注意的是,若仅凭元素截图的比对来实现元素抓取,则在对定位元素选择上尽量避开界面上变化的元素,比如会闪烁变化的元素,可输入文字或勾选状态的元素,以避免在相似度比对时引元素状态变化导致抓取失败。
84.本技术实施例提供的技术方案,在rpa流程开发与调试阶段,对定位元素截图并存储,在脚本回放阶段,通过寻找与定位元素的截图的形状和尺寸分别相等的元素区域,再将元素区域对应的元素区域截图与存储的定位元素截图进行相似度比对以确定定位元素,由于形状和尺寸的比对可以快速筛除掉不符合的元素,仅在形状和尺寸分别相等的元素中进行元素截图的相似度比对,可以大大降低完全由截图来定位的计算量,减少系统资源的占用,且能够有效实现元素的抓取。并且通过扩大截图范围获取第二截图,记录第一截图区域位于第二截图区域中的相对位置,解决了多个相同元素影响元素抓取的问题,通过两个截图的相似度比对以提高定位元素抓取的准确性。
85.实施例三
86.rpa系统有时不仅需要抓取元素,还需要抓取某一点,针对这种情况,本技术实施例三提供了一种rpa系统截图定位方法。
87.如图3所示,本技术实施例三提供的第三种rpa系统截图定位方法,具体包括以下两个阶段的方案:
88.在rpa流程开发与调试阶段:
89.s510,根据第一选取位置获取定位元素的第一截图区域,记录第一截图区域对应的第一截图和第一截图区域上的第一基准点的位置。
90.可选的,若第一截图区域为矩形,第一基准点的位置可以是矩形的中心点,也可以是矩形的四个顶点之一。
91.可选的,若第一截图内包含文字,可以通过光学字符识别(英文:optical character recognition,简称:ocr)识别第一截图中的文字,获取文字区域上的第一参考点,将第一参考点作为第一基准点。
92.可选的,通常文字区域为矩形,第一参考点可以选择文字区域的中心点,也可以选择文字区域的四个顶点,在实际应用中,可根据实际需求选择第一参考点采用哪个位置的点。为避免引文字数量变化改变文字区域导致第一参考点产生偏移的情况,在实际选择时应考虑位置不随文字区域偏移的点,比如文字区域随文字数量增加向右侧扩大,则应选择左上角的点作为第一参考点。
93.s520,根据第二选取位置确定定位点,记录定位点与第一基准点之间的第一偏移信息。
94.在rpa流程开发与调试阶段选择的定位点,用于在脚本回放阶段抓取该定位点,前面选择的定位元素作为参考,通过记录定位点与第一基准点之间的第一偏移信息,以记录定位点与定位元素之间的相对位置,从而在回放时根据形状和尺寸找到定位元素后可以快速抓取定位点。
95.可选的,定位点可以在第一截图区域内,也可以在第一截图区域外。
96.在实际应用中,定位点与第一基准点可能是同一点,则第一偏移信息为(0,0)。
97.在脚本回放阶段:
98.s610,寻找与第一截图的形状和尺寸分别相等的第一元素区域。
99.当脚本回放需要寻找定位元素时,根据记录的第一截图的形状和尺寸快速查找形状和尺寸分别相等的第一元素区域,可以快速筛选出形状和尺寸分别相等的第一元素区域作为候选,降低完全根据截图的相似度来寻找定位元素的计算量。
100.s620,获取第一元素区域对应的第一元素区域截图;将第一元素区域截图与第一截图进行相似度比对以得到第一比对值。
101.s630,判断第一比对值是否达到第一相似度阈值。
102.s640,若第一比对值达到第一相似度阈值,则将第一元素区域内的元素确定为定位元素;根据第一基准点在第一截图区域上的位置和定位点与第一基准点之间的第一偏移信息,确定目标定位点,返回目标定位点在相应界面上的坐标。
103.定位元素的寻找过程与实施例一类似,在寻找到定位元素后,根据定位元素与定位点之间的相对位置,抓取目标定位点。
104.若第一比对值未达到第一相似度阈值,则继续重复上述寻找、获取、比对以及确定坐标的步骤,直至在其它元素区域确定定位元素,每个元素区域不重叠。
105.进一步的,若考虑第一截图中可能包含文字的情况,则步骤s620中在获取第一元素区域对应的第一元素区域截图之后,在将第一元素区域截图与第一截图进行相似度比对以得到第一比对值之前,该方法还可以包括:判断第一元素区域截图内是否包含文字;若包含文字,则将第一相似度阈值设为第一阈值,若不包含文字,则将第一相似度阈值设为第二阈值,第一阈值小于第二阈值。
106.对于第一元素区域截图内不包含文字的情况,第一相似度阈值的设置与实施例一类似,若第一元素区域截图内包含文字,则需要将第一相似度阈值重新设置,比如第二阈值设置为90%,第一阈值需要设置为小于第二阈值,第一阈值最低可设为0。当第一阈值设为0时,找到形状和尺寸分别相等的元素区域时,直接通过ocr识别元素区域内的文字,判断文字是否符合程序预期。
107.若第一元素区域内包含文字,则步骤s640中若第一比对值达到第一相似度阈值,则将元素区域内的元素确定为定位元素,包括:若第一比对值达到第一相似度阈值,则通过ocr对第一元素区域截图内的文字进行识别;判断第一元素区域截图内的文字是否符合程序预期;若符合则将第一元素区域内的元素确定为定位元素。
108.程序预期是指程序指令中所要寻找的文字,比如一个界面上有四个选项框“a”、“b”、“c”、“d”,选项框的形状和尺寸相同,程序预期需要找到“d”,则会依次找到四个选项框,通过文字识别,找到“d”所在的选项框。
109.可选的,为了避免元素区域在rpa流程开发与调试阶段以及在脚本回放阶段的尺寸变化导致元素抓取失败,在rpa流程开发与调试阶段,预先将rpa系统的界面设置为预定尺寸,在脚本回放阶段,也预先将rpa系统的界面设置为该预定尺寸。通过对rpa系统界面的尺寸固定,使得rpa系统界面的元素尺寸保持一致。
110.本技术实施例提供的技术方案,在rpa流程开发与调试阶段,对定位元素截图并存储,在脚本回放阶段,通过寻找与定位元素的截图的形状和尺寸分别相等的元素区域,再将元素区域对应的元素区域截图与存储的定位元素截图进行相似度比对以确定定位元素,由于形状和尺寸的比对可以快速筛除掉不符合的元素,仅在形状和尺寸分别相等的元素中进行元素截图的相似度比对,可以大大降低完全由截图来定位的计算量,减少系统资源的占
用,且能够有效实现元素的抓取。并且通过记录第一截图区域上第一基准点的位置,选取定位点,记录定位点与第一基准点之间的第一偏移信息,在确定出定位元素后,可以基于定位元素上的基准点确定定位点的坐标。
111.实施例四
112.与实施例二对应的,由于可能存在多个相同形状和大小的元素,导致影响到定位点的抓取,针对这种情况,本技术实施例四提供了一种rpa系统截图定位方法。
113.如图4所示,本技术实施例四提供的一种rpa系统截图定位方法,具体包括以下两个阶段的方案:
114.在rpa流程开发与调试阶段:
115.s710,根据第一选取位置获取定位元素的第一截图区域,记录第一截图区域对应的第一截图和第一截图区域上的第一基准点的位置。
116.可选的,若第一截图区域为矩形,第一基准点的位置可以是矩形的中心点,也可以是矩形的四个顶点之一。
117.可选的,若第一截图内包含文字,可以通过ocr识别第一截图中的文字,获取文字区域上的第一参考点,将第一参考点作为第一基准点。
118.s720,基于第一截图区域,获取扩大截图范围后的第二截图区域,记录第二截图区域对应的第二截图、第二截图区域上的第二基准点的位置以及第一截图区域位于第二截图区域中的相对位置。
119.可选的,若第二截图区域为矩形,第二基准点的位置可以是矩形的中心点,也可以是矩形的四个顶点之一。
120.可选的,若第二截图内包含文字,可以通过ocr识别第二截图中的文字,获取文字区域上的第二参考点,将第二参考点作为第二基准点。
121.s730,根据第二选取位置确定定位点,记录定位点与第一基准点之间的第一偏移信息,或者,记录定位点与第二基准点之间的第二偏移信息。
122.可选的,定位点可以在第一截图区域内,也可以在第二截图区域内,还可以在第一截图区域和第二截图区域外。
123.示例性的,如图5所示,第一截图1为图形,第二截图2中包含文字,若将文字区域3的中心点4作为第二参考点,则在脚本回放时,文字区域的文字数量变化会导致中心点4的位置发生偏移,若按照第二参考点和定位点之间的第二偏移信息寻找定位点则会影响定位点的抓取,可以选择文字区域3左侧的顶点作为第二参考点,或者按照第一截图1上的第一参考点与定位点之间的第一偏移信息来寻找定位点。
124.在脚本回放阶段:
125.s810,寻找与第一截图的形状和尺寸分别相等的第一元素区域。
126.s820,获取第一元素区域对应的第一元素区域截图;将第一元素区域截图与第一截图进行相似度比对以得到第一比对值。
127.s830,判断第一比对值是否达到第一相似度阈值。
128.s840,若第一比对值达到第一相似度阈值,则根据第一截图区域位于第二截图区域中的相对位置,确定元素区域与第二截图区域对应的第二元素区域;获取第二元素区域对应的第二元素区域截图,将第二元素区域截图与第二截图进行相似度比对以得到第二比
对值。
129.s850,判断第二比对值是否达到第二相似度阈值。
130.s860,若第二比对值达到第二相似度阈值,则将第一元素区域内的元素确定为定位元素。
131.s870,根据第一基准点在第一截图区域上的位置和定位点与第一基准点之间的第一偏移信息确定目标定位点,或者,根据第二基准点在第二截图区域上的位置和定位点与第二基准点之间的第二偏移信息确定目标定位点,或者,根据第二基准点在第二截图区域上的位置、第一截图区域位于第二截图区域中的相对位置以及定位点与第一基准点之间的第一偏移信息确定目标定位点;返回目标定位点在相应界面的坐标。
132.步骤s870中确定目标定位点所需的信息根据rpa流程开发与调试阶段记录的信息确定,若只记录定位点与第一基准点之间的第一偏移信息,则根据第一偏移信息确定目标定位点;若只记录定位点与第二基准点之间的第二偏移信息,则根据第二偏移信息确定目标定位点;若上述信息均记录,则可以选择上述任一方式计算目标定位点在相应界面的坐标。
133.若第一比对值未达到第一相似度阈值或第二比对值未达到第二相似度阈值,则继续重复上述寻找、获取以及比对的步骤,直至在其它元素区域确定定位元素,每个元素区域不重叠。
134.进一步的,若考虑第一截图中可能包含文字的情况,则步骤s820中在获取第一元素区域对应的第一元素区域截图之后,在将第一元素区域截图与第一截图进行相似度比对以得到第一比对值之前,该方法还可以包括:判断第一元素区域截图内是否包含文字;若包含文字,则将第一相似度阈值设为第一阈值,若不包含文字,则将第一相似度阈值设为第二阈值,第一阈值小于第二阈值。
135.若第一元素区域内包含文字,则判断第一比对值是否达到第一相似度阈值,包括:若第一比对值达到第一相似度阈值,则通过ocr对第一元素区域截图内的文字进行识别;判断第一元素区域截图内的文字是否符合程序预期。
136.进一步的,若考虑第二截图中可能包含文字的情况,则步骤s840中获取第二元素区域对应的第二元素区域截图之后,将第二元素区域截图与第二截图进行相似度比对以得到第二比对值之前,该方法还可以包括:判断第二元素区域截图内是否包含文字;若包含文字,则将第二相似度阈值设为第三阈值,若不包含文字,则将第二相似度阈值设为第四阈值,第三阈值小于第四阈值。
137.若第二元素区域内包含文字,则判断第二比对值是否达到第二相似度阈值,包括:若第二比对值达到第二相似度阈值,则通过ocr对第二元素区域截图内的文字进行识别;判断第二元素区域截图内的文字是否符合程序预期。
138.在实际应用中,若第一截图内包含文字且第二截图内不包含文字,则在确定第一元素区域截图内的文字符合程序预期且确定第二比对值达到第二相似度阈值时,将第一元素区域内的元素确定为定位元素;若第一截图内不包含文字且第二截图内包含文字,则在确定第一比对值达到第一相似度阈值且确定第二元素区域截图内的文字符合程序预期时,将第一元素区域内的元素确定为定位元素;若第一截图内包含文字且第二截图内包含文字,则在确定第一元素区域截图内的文字符合程序预期且确定第二截图区域内的文字符合
程序预期时,将第一元素区域内的元素确定为定位元素。
139.可选的,为了避免元素区域在rpa流程开发与调试阶段以及在脚本回放阶段的尺寸变化导致元素抓取失败,在rpa流程开发与调试阶段,预先将rpa系统的界面设置为预定尺寸,在脚本回放阶段,也预先将rpa系统的界面设置为该预定尺寸。通过对rpa系统界面的尺寸固定,使得rpa系统界面的元素尺寸保持一致。
140.本技术实施例提供的技术方案,在rpa流程开发与调试阶段,对定位元素截图并存储,在脚本回放阶段,通过寻找与定位元素的截图的形状和尺寸分别相等的元素区域,再将元素区域对应的元素区域截图与存储的定位元素截图进行相似度比对以确定定位元素,由于形状和尺寸的比对可以快速筛除掉不符合的元素,仅在形状和尺寸分别相等的元素中进行元素截图的相似度比对,可以大大降低完全由截图来定位的计算量,减少系统资源的占用,且能够有效实现元素的抓取。并且通过记录第一截图区域上第一基准点的位置,第二截图区域上第二基准点的位置,第一截图区域在第二截图区域中的相对位置,选取定位点,记录定位点与第一基准点之间的第一偏移信息,或者记录定位点与第二基准点之间的第二偏移信息,在确定出定位元素后,可以基于第一基准点或第二基准点确定定位点的坐标。
141.实施例五
142.图6是本技术实施例五提供的一种rpa系统截图定位装置的结构示意图,本技术实施例可适用于对rpa系统进行快速截图定位元素的情况,该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备中。
143.如图6所示,该rpa系统截图定位装置具体包括:获取模块910、记录模块920、寻找模块930、比对模块940。
144.获取模块910,用于在rpa流程开发与调试阶段根据第一选取位置获取定位元素的第一截图区域;第一截图区域为定位元素的元素图片边框区域。
145.记录模块920,用于在rpa流程开发与调试阶段记录第一截图区域对应的第一截图。
146.寻找模块930,用于在脚本回放阶段寻找与第一截图的形状和尺寸分别相等的第一元素区域。
147.比对模块940,用于在脚本回放阶段获取第一元素区域对应的第一元素区域截图,将第一元素区域截图与第一截图进行相似度比对以得到第一比对值;若第一比对值达到第一相似度阈值,则将第一元素区域内的元素确定为定位元素;否则,继续重复上述寻找、获取以及比对的步骤,直至在其它元素区域确定定位元素,每个元素区域不重叠。
148.本技术实施例提供的技术方案,在rpa流程开发与调试阶段,对定位元素截图并存储,在脚本回放阶段,通过寻找与定位元素的截图的形状和尺寸分别相等的元素区域,再将元素区域对应的元素区域截图与存储的定位元素截图进行相似度比对以确定定位元素,由于形状和尺寸的比对可以快速筛除掉不符合的元素,仅在形状和尺寸分别相等的元素中进行元素截图的相似度比对,可以大大降低完全由截图来定位的计算量,减少系统资源的占用,且能够有效实现元素的抓取。
149.实施例六
150.图7是本技术实施例六提供的一种计算机设备的硬件结构示意图,图7示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图7显示的计算机设备12仅仅是
一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
151.如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
152.总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
153.计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
154.系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
155.具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
156.计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图7中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
157.处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种rpa系统截图定位方法。也即,所述处理单元执行所述程序时实现:
158.在rpa流程开发与调试阶段:
159.根据第一选取位置获取定位元素的第一截图区域;记录第一截图区域对应的第一截图;第一截图区域为定位元素的元素图片边框区域;
160.在脚本回放阶段:
161.寻找与第一截图的形状和尺寸分别相等的第一元素区域;
162.获取第一元素区域对应的第一元素区域截图;将第一元素区域截图与第一截图进行相似度比对以得到第一比对值;
163.若第一比对值达到第一相似度阈值,则将第一元素区域内的元素确定为定位元素;否则,继续重复上述寻找、获取以及比对的步骤,直至在其它元素区域确定定位元素,每个元素区域不重叠。
164.实施例七
165.本发明实施例七提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术所有发明实施例提供的一种rpa系统截图定位方法:也即,该程序被处理器执行时实现:
166.在rpa流程开发与调试阶段:
167.根据第一选取位置获取定位元素的第一截图区域;记录第一截图区域对应的第一截图;第一截图区域为定位元素的元素图片边框区域;
168.在脚本回放阶段:
169.寻找与第一截图的形状和尺寸分别相等的第一元素区域;
170.获取第一元素区域对应的第一元素区域截图;将第一元素区域截图与第一截图进行相似度比对以得到第一比对值;
171.若第一比对值达到第一相似度阈值,则将第一元素区域内的元素确定为定位元素;否则,继续重复上述寻找、获取以及比对的步骤,直至在其它元素区域确定定位元素,每个元素区域不重叠。
172.可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
173.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
174.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
175.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言(诸如java、smalltalk、c++),还包括常规的过程式程序设计语言(诸如“c”语言或类似的程序设计语言)。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部
分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(lan)或广域网(wan)),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
176.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1