捕捉控件

1. 什么是控件?

控件是RPA机器人模拟人进行界面自动化操作的基础对象,代表其在执行一个应用(流程)时可能涉及的各类“界面元素”,如一个网页中的输入框、“百度一下”按钮、页面标题、客户端上的登录按钮等,都可以被视作一个控件。

在您RPA开发者-快速入门时,需要在捕捉到流程中需要操作的控件的基础上,才能完成流程的开发。如您希望RPA机器人去自动关闭一个桌面窗口,您需要先捕捉到这个窗口,以及窗口右上角的关闭按钮这两个控件,再在点击控件(窗口)这个组件中分别选择这两个控件,实现对该窗口的关闭。因此,学会捕捉控件是您进行RPA应用开发的必经之路。

在下文中,我们将分别向您介绍如何捕捉控件(第2节),如何编辑所捕捉控件的属性(第3节),以及当您遇到了一批相似控件时,如何快速地进行相似控件捕捉(第4节)。

2. 捕捉控件

RPA编辑器支持您基于匹配(自动匹配/win32-UIA等),或基于图像录制的模式来进行控件的捕捉。考虑到匹配的准确性与效率,我们一般推荐您使用基于自动匹配的模式,若您希望捕捉的控件或其所在的界面无法被该模式识别,您也可以通过图像录制的模式,来截取目标操作区域,RPA会通过图像识别的方式对其进行匹配。

2.1. 自动匹配模式/win32-UIA模式/win32-MSAA模式

  1. 打开RPA编辑器,以编码模式为例,在右侧控件面板中点击开始捕捉

    截屏2022-08-25 下午7

  2. 界面弹出对话框

    捕捉空间2

  3. 打开您希望捕捉的控件所在的界面,并确保对话框在该界面上方,点击捕捉控件按钮(或按键盘F2键)

  4. 将鼠标移动到需捕捉的控件上,待蓝框锁定目标控件,点击鼠标左键即可完成捕捉。在捕捉控件窗口中:

    1. 您可以在下图中序号①内看到您所捕捉控件的预览,在控件预览区域中移动鼠标,可以在右上角查看鼠标相对该控件中心点的位置,用以在某些场景中设定偏移量

    2. 您还可以在下图中序号②内选择一个针对该控件的验证动作,并在序号③中配置该动作所需的参数

    3. 点击序号④中的验证动作按钮,即可在界面中查看您针对该控件的验证是否满足预期,如果您选择的验证动作有返回值,会显示在序号⑤中

    4. 若您验证成功,请填写控件名称,为该控件选择分组(非必要),并点击保存

    5. 后续您可以在编辑器的控件面板中查看,也可在流程开发过程中直接在控件列表中选择该控件截屏2022-08-25 下午8

2.2. 图像录制模式

图像录制模式主要用于上述模式对目标界面解析失败的情况(无法捕捉目标控件)。

若您使用基于图像录制的模式:

  1. 在点击捕捉控件按钮前,在右侧模式列表中下拉选择图像录制模式

  2. 点击捕捉控件,对您希望操作的区域进行截图,鼠标释放即为完成截取。在捕捉控件窗口中:

    1. 选择编辑控件(在下图中序号①),查看您截取的目标区域,在定位图像(在下图中序号②)中可以通过拖动锚点的方式来调整在目标区域中操作的具体位置

    2. 选择验证控件按钮(在下图中序号③),选择一个针对该控件的验证动作,并再配置该动作所需的参数

    3. 点击验证动作按钮(在下图中序号④),即可在界面中查看您针对该目标区域的验证是否满足预期

    4. 若您验证成功,请填写控件名称,为该控件选择分组(非必要),并点击保存

    5. 后续您可以在编辑器的控件面板中查看,也可在流程开发过程中直接在控件列表中选择该控件。截屏2022-08-26 下午12

3. 编辑控件

在实际开发的过程中,可能会出现某个上次捕捉且可正常使用的控件,在再次使用时报错的情况。这可能是由于上次捕捉时控件所在的界面发生了改动;也可能是由于上次捕捉的控件中有属性发生变化。针对前者,我们可以在变化后的界面中重新进行捕捉;针对后者,可以通过编辑控件属性的方式来重新保证控件选择的准确性。

在本节,会向您介绍如何通过编辑控件来准确捕捉“属性会发生变化”的控件。

编辑控件的原则:从最下面一层开始编辑,修改一次属性通过高亮 按钮或者快捷键F5 来验证修改过后的控件。

  1. 比如:捕捉巨潮网中格力电器的股票价格信息,由于股票价格变化,该控件属性可能存在变化,所以需要通过编辑控件,设置固定的控件属性来保证控件的稳定性。

  2. 修改最后一层的信息,取消outertext属性,勾选class属性或者nth-child属性,回显验证是否捕捉到该控件。

  3. 若outertext属性中的值是部分变化,也可以选择该属性,修改匹配规则(相等/包含/正则),然后属性值根据匹配规则进行修改。比如:匹配规则为“包含”,则属性值为固定不变的关键字;若规则为“正则”,则属性值为正则表达式。

AECA2EA6-4E80-490f-8D58-3F083B8DE57A

4. 捕捉相似控件

当您希望在界面中捕捉的控件是一批特征相似的控件时(如下图中红色框选区域,每个区域内的元素都可以被视作一批相似控件),您可以通过捕捉相似控件的方式,一次性地捕捉多个指定的相似控件。

截屏2022-08-26 下午4

例如,捕捉上图左侧分类的全部标签(女装、内衣、奢品等);

  1. 首先点击捕捉控件按钮,捕捉“女装”这个控件

  2. 点击捕捉相似控件按钮,捕捉这批控件中的第二个控件,如“内衣”。

  3. 点击左键完成本次捕捉后,屏幕中会同时高亮多个控件,随后,窗口中显示共找到“40个”控件(如下图中所示)截屏2022-08-26 下午5

  4. 根据刚才的高亮结果,以及统计出的相似控件数量可以发现,系统默认捕捉的这一批相似控件并不是我们想要的,因此,我们需要通过编辑控件的方式对刚捕捉到的这一批相似控件进行调整,点击下图中的编辑控件截屏2022-08-26 下午6

    1. 从最下面一层标签开始,编辑右侧属性(勾选/取消),点击高亮控件按钮,测试能否准确回显该批相似控件;

    2. 如果为否,继续编辑上一层属性,测试该批相似控件能否成功被高亮,重复类似操作,直至捕捉到我们想要的相似控件。

    3. 如下图中所示,在本次调整后,点击高亮控件,屏幕中高亮区域正确,同时提示共找到24个控件,相似控件数量也正确,即可填入控件名称,选择该控件所属分组(如需),点击保存。截屏2022-08-26 下午8

  5. 在后续流程搭建的过程中:

    1. 如需使用这一批相似控件,请结合循环相似控件(网页)、循环相似控件(窗口)等组件共同使用

    2. 如需使用这一批相似控件中的某一个控件,请在各组件的高级选项-控件索引中明确具体的控件

  6. 更多案例,请参考视频:编辑属性捕捉相似控件

说明

捕捉相似控件相当于将多个控件纳入一个控件组进行管理,同时通过“控件索引”来区分控件。比如选择动作“获取文本”,若控件索引为1,则获取的是第一个标题,若控件索引为2,则获取的是第二个标题,以此类推)

样例:捕捉控件

1.打开百度页面,使用捕捉控件,点击捕捉控件按钮,将鼠标移动到百度输入框中进行捕捉;7

2.在编辑控件窗口中,输入控件名称(在下图中序号①),然后进行验证:

  • 选择动作(在下图中序号②),本次选择输入文本,测试能否正常向百度输入框输入文本;

  • 接着在动作参数中,填入输入内容(测试)(在下图中序号③);

  • 然后点击验证动作按钮(在下图中序号④),发现文本输入成功,同时验证结果显示验证成功(在下图中序号⑤);

  • 以上步骤证明了捕捉到的控件可正常使用,点击保存(在下图中序号⑥)。

8

3.同理可捕捉“百度一下”按钮,在验证的时候,选择动作为“点击”,验证成功后保存控件。

11

样例:捕捉相似控件

假设需要捕捉所有阿里云搜索结果的标题,这里我们需要用到捕捉相似控件功能。

重要

使用捕捉相似控件,需要在页面中先找到具有相似性的控件,以图中标题为例,并不是所有标题都是相似控件,例如下图中第一个标题与页面中其他标题就不是相似控件,当使用捕捉相似控件捕捉第一个标题时,会提示“合并失败,提供的选择器不具备相似性“,是由于标题一与标题二三的底层源码结构不同导致的。

  • 在搜索结果中,随意捕捉一个标题(比如此处捕捉图中序号①标题),进入控件编辑页面;

  • 然后点击捕捉相似控件按钮,此时页面又会回到捕捉控件的状态,此时再捕捉一个类似的控件(比如此处捕捉图中序号②标题);

  • 捕捉完成后,会自动再次回到控件编辑窗口,此时点击高亮控件按钮,会发现页面上的10个标题全部高亮;

  • 至此,已经成功捕捉到页面标题控件,将控件命名并保存。

捕获相似控件标题

通过OCR的方式操作控件

一般来说,在两种场景下,我们会通过OCR(光学字符识别)的方式来定位控件中的目标操作位置:

  1. 目标操作区域无法捕捉,只能捕捉到上一级控件,且在上一级控件中可以通过文字匹配的方式确定目标位置

  2. 目标操作区域经常变化,但是上一级控件不变,可以通过捕捉到上一级控件,再通过文字匹配的方式确定应用实际执行时要点击的位置(如某软件下拉列表结构容易调整,每一项的位置无法确定,因此可以先捕捉到整个列表,再通过OCR的方式进行文字匹配,以确定应用执行时具体要点击的下拉项)

样例:通过OCR识别控件区域内的关键词进行验证点击动作:

  1. 打开百度页面,使用捕捉控件,点击捕捉控件按钮,将鼠标移动到百度首页的菜单栏的外层进行捕捉,然后通过OCR识别菜单栏中地图的位置进行点击。捕获控件_5

  2. 在编辑控件窗口中,输入控件名称,然后进行验证:

  • 选择动作,本次选择OCR-点击,测试能否识别控件中关键词,并点击关键词的位置;

  • 在动作参数中,填写关键词内容(地图),以及选择OCR引擎为google;

    重要

    OCR引擎默认使用Google,但是Google引擎对中文的识别能力较弱,实际使用时请注意。可以点击编辑控件窗口中的查看OCR结果按钮(或F8快捷键)进行验证识别的结果,识别结果可能会有偏差,只需要保障识别的结果与设置的关键词能匹配上即可。

    捕获控件_8

  • 然后点击验证动作按钮,发现鼠标移动到标题为地图的位置上并点击,同时验证结果显示验证成功;

  • 至此,已经成功捕捉到页面指定元素控件,将控件命名并保存。