控件捕捉和使用

更新时间:
复制 MD 格式

概述

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

您在开发一个自动化流程时,任何一个具体操作,需要先将相关元素捕捉成为“控件”,后才能操作该控件完成所需动作。

产品支持两类控件捕捉方式:

  • 标准模式(含 自动匹配模式、win32-UIA模式、win32-MSAA模式)。此类方式下,可提取目标软件界面的界面结构,基于界面结构进行各种操作。

  • CV模式(Computer Vision)。部分软件界面不支持标准模式,可使用CV模式进行操作。

重要

使用时,建议先使用 自动匹配模式、win32-UIA模式、win32-MSAA模式等标准模式,如果不能达到预期,最后再使用CV模式

标准模式

操作过程

本章节以 步骤二:搜索“阿里云”所需的控件为例,介绍捕捉控件的主要操作:

  1. 浏览器先打开所需页面,在编辑器中的控件面板中点击开始捕捉,出现控件捕捉窗口。

    捕捉空间2

  2. 点击捕捉控件按钮(或使用F2键),将鼠标移动到需捕捉的控件上,待蓝框锁定目标控件,点击鼠标左键即可完成捕捉。蓝框锁定过程如下所示。

    image

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

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

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

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

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

    8

  4. 同理可捕捉搜索按钮,在验证的时候,选择动作为“点击”,验证成功后保存控件。11

选择合适的捕捉条件

在使用过程中,会遇到某个控件上次能够正常运行,再次运行时就报错提示找不到控件、或控件超时的问题,原因可能如下:

  • 没有为控件选择合适的属性,导致在不同情况下,属性内容发生了变化,因此无法找到控件。

  • 目标操作软件的界面更新,导致界面元素发生了变化,之前捕捉条件不适合新页面。

因此核心是需要为控件选择合适的捕捉条件,可在编辑器的捕捉控件窗口中、通过编辑属性完成设置。

重要

捕捉控件时,本产品会根据当前页面情况自动选择部分属性,此时选择的属性仅能满足当前情况,并不能够满足扩展要求,需要开发者根据实际情况进行优化、调整。

重要

选择合适的捕捉条件(编辑属性)的基本原则

  • 从最下面的属性开始选择和编辑

  • 避免使用与当前页面内容强相关内容,适当使用包含

  • 每次修改后,通过高亮 按钮或者快捷键F5 来验证控件是否有效

  • 多使用不同情况进行测试

举例

  • 本例的目标是获取股票价格,控件捕捉时自动选中的属性如下所示

    image

    image

  • 从上图可见,最后一层的几个属性

    • 默认选择的outertext,不适合作为捕捉条件。原因该属性值是动态的,并且也是需求希望获取的股票价格

    • class,不适合直接作为捕捉条件。可见在涨、跌情况下class的值不同。

  • 根据基本原则,可以有两种控件属性的选择方案

    • 方案1:分析class的特点,使用“包含”功能,值填入value

      image

    • 方案2:从下向上选择属性进行尝试,结果如下:

      image

      image

    说明

    对同一个控件的属性选择方案不止一种,开发者可根据实际情况权衡。

捕捉相似控件

在数据采集等场景中,会需要操作一个页面中的多个相似的元素,如商品列表页、查询结果等。本章节介绍如何使用“相似控件”功能批量进行处理。

使用过程:

  1. 先使用捕捉控件,抓取页面上一个元素

  2. 再使用捕捉相似控件,抓取页面上另一个元素(注意不能是同一个)

  3. 产品会分析两次捕捉的属性信息,自动选择属性

    重要

    使用捕捉相似控件,需要确保第一次捕捉的元素和第二次捕捉的元素具有相似性,否则会提示“合并失败,提供的选择器不具备相似性”。例如搜索引擎的结果中,经常会有一些付费投放的信息穿插在搜索结果中,如果对这两类元素放在一起进行相似控件捕获,由于元素结构的不同,无法生成相似控件。

示例:获取商品名称

目标获取商品列表中的商品名称,如下所示

image

  1. 首先点击捕捉控件,捕捉第一个商品的名称(图片下面的文字)

    image

  2. 点击捕捉相似控件按钮,捕捉第二个商品的名称。产品根据两次捕捉结果对属性进行了修改,如下图。

    image

  3. 在验证控件中,点击高亮控件按钮,可以看到页面中多个商品标题被选中。

    image

  4. 同时,也会显示找到的控件数量,开发者需要根据数量,确定该控件抓取的数量是否正确。

    image

    重要

    捕捉相似控件功能自动生成的属性,不能保证所有场景下的有效性,因此还需要开发者根据实际情况进行调整,详见选择合适的捕捉条件

  5. 控件保存后(本例中控件名为“商品标题”),在流程中使用该控件分别如下:

    重要

    控件列表的索引从1开始。

    1. 可视化开发模式

      image

    2. 编码开发模式

      page = rpa.app.chrome.catch('https://s.taobao.com/search', mode='url', pattern='contain')
      num = page.count('商品标题')
      for i in range(1,int(num)+1):
          title = page.text(element='商品标题',index=i)
          print(title)

示例:获取多个标题

CV模式

说明

CV模式在RPA客户端4.8.3版本以后支持,为原OCR录制模式的升级版

CV图像录制模式主要用于目标界面元素不可被标准模式解析的情况;此方式依赖开发者截取的软件界面图像,运行时通过对比来定位所需操作的界面元素。

操作过程

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

    image

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

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

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

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

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

    5. 后续您可以在编辑器的控件面板中查看,也可在流程开发过程中直接在控件列表中选择该控件。

      image

说明

CV控件的使用示例详见 使用CV模式操作钉钉客户端发送消息

使用建议

  • 编辑器开发过程、机器人运行过程所在的电脑,至少需要保证桌面缩放一致

    • Windows中可通过“设置-屏幕”查看桌面缩放

      image

    • 编辑器中可查看CV捕捉的控件截取时的桌面分辨率和缩放

      image

      说明

      编辑器版本需4.11.0.1067及以上,可在捕捉控件窗口中查看分辨率和缩放。

  • CV捕捉区域不要与内容强相关

  • CV控件捕捉时,框选页面中独特的、纹理丰富的区域