欢迎光临散文网 会员登陆 & 注册

【RPA之家UiPath官方教程】UI交互

2020-06-01 09:12 作者:RPA之家  | 我要投稿

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元素只能以图像形式访问时,这很有用。

 


【RPA之家UiPath官方教程】UI交互的评论 (共 条)

分享到微博请遵守国家法律