【RPA之家UiPath官方教程】UI交互
UI交互涵盖了我们在用户界面级别与系统进行交互的所有操作。 本课程涵盖自动化UI输入和输出操作。
受众:RPA开发人员
学习目标
在本课程结束时,您应该能够:
选择适合您的自动化环境的输入法;
自定义输入操作的属性,以提高自动化的可靠性和有效性;
使用适合您要自动化的应用程序和流程的特性的输出操作;
通过使用最适当的活动来标识UI元素,最大程度地提高自动化的可靠性。
关于本课程
介绍
由于RPA旨在使人类执行的任务自动化,因此可以期望UI元素和UI交互会被广泛使用。 UI元素是我们在流程中标识的元素(例如完成图标或状态栏),而UI交互则涵盖了我们在UI界面级别与系统进行交互的所有操作。
UI交互可以分为输入动作和输出动作。 输入操作是指我们通过这些操作将数据发送到应用程序(例如,通过单击或键入)以产生结果的操作。 另一方面,输出动作是我们从应用程序中提取数据的那些动作。
受众:RPA开发人员
课程时间:4小时
完成课程的要求:通过最低80%的分数通过课程测验
先决条件:
基本编程知识
RPA开发人员角色课程简介
变量,数据类型和控制流程
学习目标
在本课程结束时,您将能够:
1选择适合您的自动化环境的输入法;
2自定义输入操作的属性,以提高自动化的可靠性和有效性;
3使用适合您要自动化的应用程序和流程细节的输出操作;
4通过使用最适当的活动来标识UI元素,最大程度地提高项目的可靠性。
UI自动化提供了使用用户界面自动执行人类操作的框架。但是,有许多应用程序和文件类型(例如Excel),可以通过使用在API级别上工作的活动包或使用特定于数据操作的技术来构建UiPath中的工作流。与通用的UI自动化相比,它们是理想的,因为它们更易于构建且更可靠。
注意:本课程是使用UiPath Studio 2019.7创建的。最新的Community Edition版本中的某些元素可能有所不同。
输入动作和方法
总览
每当我们将数据插入到应用程序中,或者将命令发送到系统以进行更改(或延续)时,我们都会执行输入操作。 在UiPath中,主要输入操作是“单击”,“键入”,“发送热键”和“悬停”。 这些也是人类用户在应用程序中输入数据所执行的主要动作。
输入法
输入法为输入操作提供了输入数据的手段。 每个输入操作都允许用户在3种方法之间进行切换:“模拟类型/单击/悬停”,“ SendWindowMessages”和默认方法。 可以通过在“属性”面板中选中相应的框来选择“模拟类型/点击/悬停”和“ SendWindowMessages”; 如果两个框均未选中,则使用默认输入法。
--默认:
它是如何工作的?
单击:鼠标光标在屏幕上移动
键入:键盘驱动程序用于键入单个字符
这意味着什么?
自动化过程中,出席用户无法触摸鼠标或键盘
它具有较低的速度,加载时间会影响精度
优点是什么?
支持特殊键,例如Enter,Tab和其他热键
100%相容
有什么限制?
不会自动删除以前写的文本
在后台不起作用
--发送窗口消息:
它是如何工作的?
重放使用鼠标/键盘时目标应用程序收到的窗口消息
点击和输入会立即发生
这意味着什么?
在后台工作
在速度方面可与Default方法相比
优点是什么?
支持特殊键,例如Enter,Tab和其他热键
用户可以在执行自动化流程期间从事其他活动
有什么限制?
不会自动删除以前写的文本
仅适用于响应窗口消息的应用程序
--模拟:
它是如何工作的?
使用目标应用程序的技术(API级别)发送指令
点击和输入会立即发生
这意味着什么?
在后台工作
动作要快很多,但是有一些兼容性限制
优点是什么?
可以自动删除以前写的文字
用户可以在执行自动化流程期间从事其他活动
有什么限制?
不支持特殊键,例如Enter,Tab和其他热键
它的兼容性比其他两种方法低
输入动作
就其主要功能而言,单击,键入和发送热键很简单。 所有输入操作都共享几个属性:
延迟:可用于设置点击之前或之后的延迟;
WaitForReady:可以配置为通过验证某些应用程序标签来等待目标准备就绪。
可能更重要的是看到它们各自提供的选项:
--点击
ClickType:可以是单次或两次(将默认值更改为double使其非常类似于单独的活动-Double Click);
MouseButton:可以配置为左,中或右键;
超时:指定重试活动直到抛出错误的持续时间,
KeyModifiers:在执行操作时可以按Alt,Ctrl,Shift和/或Win键。
--输入
激活:在键入文本之前,将键入文本的字段置于最前面并激活;
ClickBeforeTyping:将在键入文本之前单击要在其中键入文本的UI元素;
DelayBetweenKeys:键入每个键之间的延迟;
EmptyField:键入之前将清空UI元素。
--发送热键
激活:在键入文本之前,将键入文本的字段置于最前面并激活;
ClickBeforeTyping:将在键入文本之前单击要在其中键入文本的UI元素;
DelayBetweenKeys:键入每个键之间的延迟;
EmptyField:键入之前将清空UI元素。
输出动作和方法
总览
在UiPath中使用输出操作来从UI元素提取数据(通常以文本形式)。 输出方法使输出动作能够从UI元素提取数据。 让我们先讨论这些。
输出方法
--FullText:
FullText方法是默认方法,在大多数情况下都足够好。 它是最快的,具有100%的准确性,并且可以在后台运行。 此外,它可以提取隐藏的文本(例如,下拉列表中的选项)。 另一方面,它不支持虚拟环境,也无法捕获文本位置和格式。
此方法提供了忽略隐藏消息并仅捕获可见文本的选项。
--Native:
本机方法与使用图形设计界面(GDI)(用于表示图形对象的Microsoft API)的应用程序兼容。 它可以提取文本位置和格式(包括文本颜色),并且在支持GDI的应用程序上具有100%的准确性。 它的速度比FullText低,它不提取隐藏的文本,并且不能在后台运行; 与FullText一样,它也不支持虚拟环境。
默认情况下,它可以将所有已知字符作为分隔符(逗号,空格等)进行处理,但是当仅指定某些分隔符时,它可以忽略所有其他字符。
--OCR:
OCR(或光学字符识别)是唯一可在虚拟环境和从图像中“读取”文本的输出方法。 它的技术依赖于识别每个字符及其位置。 另一方面,它不能在后台运行,不能提取隐藏的文本,其速度是迄今为止最低的。 从一个文本到另一个文本,其准确性各不相同,更改设置也可以改善结果。 就像Native方法一样,它也捕获文本位置。
OCR方法具有两个可以交替使用的默认引擎-Google Tesseract和Microsoft MODI。 还有其他OCR引擎可以免费安装(例如Omnipage和Abbyy Embedded)或付费安装(由Abbyy提供的IntelligentOCR)。
输出动作
以下是最重要的输出操作。 正如您将看到的,与输入动作(每个输入动作都可使用所有输入法)的区别在于,输出动作与输出方法在某种程度上是匹配的。
--获取文字活动
从指定的UI元素提取文本值。
--获取全文活动
使用FullText屏幕抓取方法从指示的UI元素中提取字符串及其信息。 因此,默认情况下也会捕获隐藏文本(尽管它提供了忽略隐藏文本的选项)。 使用FullText方法和容器执行屏幕抓取时,会自动生成此活动。
--获取可见文本活动
使用本机屏幕抓取方法从指示的UI元素中提取字符串及其信息。 当使用选定的Native方法以及容器执行屏幕抓取时,将自动生成此活动。
--获取OCR文本活动
使用OCR屏幕抓取方法从指示的UI元素提取字符串及其信息。 执行屏幕抓取操作时,还可以自动生成此活动以及容器。 默认情况下,使用Tesseract OCR引擎。
--数据收集向导
数据抓取是UiPath Studio的一项功能,它允许将结构化信息从应用程序,浏览器或文档中提取到DataTable变量中。 可以从UiPath Studio的“设计”功能区中的“数据收集”按钮直接访问该功能。
选择的第一个元素用于填充第一列,并且还提供了提取URL(如果存在)的选项。 用户可以更改列的顺序,并指定要提取的最大条目数(默认为100,保留0表示提取所有结果)。 在“预览”阶段,“提取相关数据”选项可用于指示其他字段,方法是指示第一个和第二个条目,就像主字段一样。
--提取属性活动
实际上,这是一类活动,当您不想从UI元素中提取文本时可以使用,但可以是颜色,位置或祖先。有3种不同的UiPath活动可以做到这一点:
获取祖先:UI元素位于父子结构中(一个文本文档将Notepad应用作为父对象,将应用类别作为父对象,依此类推)。获取祖先检索UI元素的祖先(或父代)。
获取属性:UI元素具有很多属性。考虑一下网站上的按钮-它肯定具有颜色,名称,状态等。获取属性允许用户指示属性,活动将检索该特定属性的值。
获取位置:此活动检索特定元素在屏幕上的实际位置。当屏幕上有许多相似的元素时,这将非常有用。没有他们的实际位置,将很难识别他们每个人。
使用UI元素
输入和输出操作可以看作是两个连续的微步骤:首先,识别UI元素,然后输入(或提取)数据。 在许多情况下,例如前面几章中介绍的大多数示例,可以通过将其包含在活动中或使用delay选项来轻松地选择第一步。 这就是为什么在很多情况下,根本没有必要在实际的Click或Type活动之前进行单独的活动来定位UI元素(例如Find Element活动)。
但是,在某些业务场景中,构建可靠的工作流意味着适应UI元素仅在不同时间移动或可见的情况。 此外,一些似乎很方便的解决方案,例如在执行Click活动之前设置一个很大的Delay,可能会触发整个自动化过程的显着增加(例如,如果有50个Click活动)。
有几种动作可用来定位UI元素,并且重要的是要知道每个元素何时有用:
--查找元素
等待指定的UI元素出现在屏幕上(位于前景中)并将其作为UiElement变量返回。 例如,当需要对找到的Ui元素执行某些操作时,这很有用。
--元素存在
使您能够验证UI元素是否存在,即使它不可见。 例如,它返回一个布尔型变量,这使其在“ If语句”活动中非常有用。
--等待元素消失
等待指定的UI元素从屏幕上消失。 它是“查找元素”的替代方法,例如,当一个元素的消失(加载符号)比另一个元素的外观更可靠时,
--出现在元素上
等待UI元素出现并允许您在其中执行多个操作的容器。
--元素消失
一个容器,使您可以在指定的UI元素消失后执行一个或多个操作。
--存在文字
检查是否在给定的UI元素中找到了文本。 有一个替代版本,使用OCR技术检查给定的UI元素。 当UI元素只能以图像形式访问时,这很有用。