【RPA之家UiPath官方教程】选择器
选择器
选择器
在本课程中,我们将介绍选择器是什么,UI资源管理器,属性资源管理器,选择器类型,在何处使用它们以及在遇到困难情况时如何微调选择器。
受众:RPA开发人员
学习目标
在本课程结束时,您应该能够:
说明选择器是什么以及它们如何工作;
自动化时选择正确的选择器类型和设置;
描述用户界面以及如何执行其元素探索;
微调选择器,以提高元素操作的精度。
关于本课程
介绍
在本课程中,我们将首先介绍选择器的基本概念。 接下来,我们将涵盖更深入的主题,例如UI资源管理器,属性资源管理器,选择器类型以及在何处使用它们,以及在遇到困难情况时如何微调选择器。
受众:RPA开发人员
课程时间:2小时
完成课程的要求:通过最低80%的分数通过课程测验
先决条件:
基本编程知识
RPA开发人员角色课程简介
变量,数据类型和控制流程
数据处理课程
Excel和数据表课程
UI互动课程
学习目标
在本课程结束时,您将能够:
1解释选择器是什么以及它们如何工作。
2自动化时选择正确的选择器类型和设置。
3描述如何执行用户界面元素探索。
4微调选择器,以提高元素操作的精度。
注意:本课程是使用UiPath Studio 2019.7创建的。 最新的Community Edition版本中的某些元素可能有所不同。
选择器介绍
什么是选择器?
UiPath Studio中的选择器是一项功能,可通过其地址和存储为XML片段的属性来标识用户界面元素。 完成元素标识以执行自动化项目中的特定活动。 每当我们使用与图形用户界面元素进行交互的活动时,选择器就会自动生成。
我们可以将通过选择器实现的元素识别过程视为将信件发送到特定地址的邮递员。 为了使邮递员传递信件,需要指定路径,并且必须包含结构化和分层的详细信息,例如“国家/地区”>“城市”>“邮政编码”>“街道名称”>“街道编号”>“公寓编号”。 同样,UiPath Studio要求用户界面中特定元素的详细路径。
选择器在哪些业务场景中有用?
在大多数情况下,当自动化过程涉及使用UI元素时,就会使用选择器。 典型的活动包括:
点击按钮
在网站的字段中输入文字或从中输入文字
从下拉列表中选择一个选项
选择器的标签和属性
如您所见,选择器由节点组成。 每个节点都由标签和属性组成。 让我们以一个例子来解释两者。 下面是一个选择器节点。
<webctrl parentid=‘slide-list-container’ tag=‘A’ aaname=‘Details’ class=‘btn-dwnl’ />
标签:
选择器XML片段中的节点
对应屏幕上的视觉元素
第一个节点是应用程序窗口
最后一个节点是元素本身
例如:
WND(窗口)
html(网页)
Ctrl(控制)
webctrl(网页控件)
java(Java应用程序控件)
属性:
每个属性都有一个名称和一个值。 您只能使用具有恒定值或已知值的属性。
例如:
parentid =“幻灯片列表容器”
tag =“ A”
aaname =“详细信息”
class =“ btn-dwnl”
UI资源管理器
它是什么?
UI资源管理器是UiPath Studio中的功能,允许分析和编辑选择器。 它包含一个状态按钮,向用户显示选择器的状态;一个可视树面板,显示当时正在运行的每个应用程序的可导航UI,以及所选的UI元素。 UI资源管理器显示所有可用的标记和属性,并提供签入或签出的选项。
我将在哪些业务场景中使用UI资源管理器?
根据先前突出显示的问题,每当自动生成的选择器不稳定或适应性不足时:
选择器从一个执行变为另一个执行
产品更新后,选择器可能会更改
选择器使用不可靠的信息,例如索引。
UI Explorer界面
UI框架
为了返回感兴趣元素的最佳选择器,我们可以在UiExplorer中可用的不同UI框架之间进行切换。
--默认: 这是专有方法,通常可在所有类型的用户界面上正常使用。
--主动可及性: 这代表了Microsoft较早的解决方案,使应用程序可访问。 如果默认框架不能按预期工作,则建议在使用旧版软件时使用。
-- UI自动化: 这是Microsoft改进的可访问性模型,当默认框架无法按预期工作时,使用较新的应用程序时建议使用该模型。
选择器类型
如前所述,当在活动中指示UI元素或使用记录器时,会自动生成选择器。 当使用在容器外部的容器内部或以其他方式在容器内部生成或添加的活动时,了解完全选择器和部分选择器之间的差异非常重要。
UiPath中的容器是“附加窗口”,“附加浏览器”和“打开浏览器”。
--完整选择器:
包含识别UI元素所需的所有标签和属性,包括顶层窗口
由基本记录器生成
最适合当执行的动作需要在多个窗口之间切换时。
--部分选择器:
不包含顶层窗口的标签和属性,因此带有部分选择器的活动必须包含在容器中
由桌面录像机生成
最适合在同一窗口中执行多个操作。
什么时候使用部分或完整选择器?
使用部分选择器的最佳示例是简单的自动化,其中已部署的工作流仅在同一应用程序中执行操作,而不会像简单的CRM那样在多个窗口之间切换。
另一方面,如果实际上需要工作流与多个窗口(例如相同的CRM和文档)进行交互,这将使此特定示例中所需的UI元素分散在多个窗口中,则将需要完整选择器。
微调
什么时候需要对选择器进行微调?
--动态生成的选择器
在某些网站上,属性的值随每次访问而变化。
--选择器过于具体
某些选择器是使用文件名或更改后的值自动生成的。 在这里,占位符非常有用。
--系统变更
一些选择器包含应用程序的版本或在应用程序更新时更改的另一个元素。
--使用IDX的选择器
IDX是具有多个相似元素的容器中当前元素的索引。 当新元素出现在同一容器中时,这可能会更改。
什么是微调?
微调是优化选择器的过程,以便在所生成的选择器相对于系统更改而言不可靠,过于具体或过于敏感的情况下正确执行工作流程。
它主要由对整个过程有较大影响的小的简单更改组成,例如添加通配符,使用修复功能或在选择器中使用变量。
在哪些业务场景中需要进行微调?
工作流使用名称中带有时间戳的文件。
构建工作流的环境具有与生产环境不同的参数(例如,应用程序版本);
动态选择器的使用将提高自动化的可靠性和健壮性。
处理困难情况
在大多数情况下,自动生成的选择器不够可靠,通过微调可以解决问题。 但是,还有其他一些情况,我们称之为困难。 考虑一个UI元素的示例,该元素在每次运行工作流时都会更改状态,位置或ID。
对于这些,还有其他方法:
--锚基地
这在属性值不可靠(例如在每次执行时生成)但具有稳定且链接到目标UI元素的UI元素的情况下非常有用。
Anchor Base活动分为两部分,一部分用于定位锚点UI元素(例如“ Find Element”),第二部分执行所需的活动
--相对选择器
此活动基本上会将有关锚点选择器的信息合并到目标UI元素的选择器中。但是,新选择器可能需要进行其他编辑,因为第一个选择器的某些节点仍将位于新选择器中。解决方案是删除该部分(例如动态ID),然后选择器将使用锚点的选择器稳定下来。
--可视树层次结构
可视树中的层次结构可以通过包含层次结构中上方的元素的标签和属性来提高选择器的可靠性。
当目标用户界面元素的选择器不可靠,但层次结构中上方的用户界面元素的选择器不可靠时,此功能非常有用。但是,再次,选择器需要进一步的编辑和验证,因为需要删除动态零件,同时,您需要确保可以使用唯一属性来标识目标元素。
--寻找子节点
此活动可以标识更稳定的元素的所有子代。由于其输出是子项的集合,因此您需要提出一种机制,以仅识别目标UI元素(使用其属性之一,这使得子项之间是唯一的,但不足以普遍地识别它)。

