【RPA之家UiPath官方教程】UI交互
UI交互涵蓋了我們在用戶界面級別與系統(tǒng)進行交互的所有操作。 本課程涵蓋自動化UI輸入和輸出操作。
受眾:RPA開發(fā)人員
學習目標
在本課程結(jié)束時,您應該能夠:
選擇適合您的自動化環(huán)境的輸入法;
自定義輸入操作的屬性,以提高自動化的可靠性和有效性;
使用適合您要自動化的應用程序和流程的特性的輸出操作;
通過使用最適當?shù)幕顒觼順俗RUI元素,最大程度地提高自動化的可靠性。
?
關于本課程
介紹
由于RPA旨在使人類執(zhí)行的任務自動化,因此可以期望UI元素和UI交互會被廣泛使用。 UI元素是我們在流程中標識的元素(例如完成圖標或狀態(tài)欄),而UI交互則涵蓋了我們在UI界面級別與系統(tǒng)進行交互的所有操作。
UI交互可以分為輸入動作和輸出動作。 輸入操作是指我們通過這些操作將數(shù)據(jù)發(fā)送到應用程序(例如,通過單擊或鍵入)以產(chǎn)生結(jié)果的操作。 另一方面,輸出動作是我們從應用程序中提取數(shù)據(jù)的那些動作。
受眾:RPA開發(fā)人員
課程時間:4小時
完成課程的要求:通過最低80%的分數(shù)通過課程測驗
先決條件:
基本編程知識
RPA開發(fā)人員角色課程簡介
變量,數(shù)據(jù)類型和控制流程
?
學習目標
在本課程結(jié)束時,您將能夠:
1選擇適合您的自動化環(huán)境的輸入法;
2自定義輸入操作的屬性,以提高自動化的可靠性和有效性;
3使用適合您要自動化的應用程序和流程細節(jié)的輸出操作;
4通過使用最適當?shù)幕顒觼順俗RUI元素,最大程度地提高項目的可靠性。
?
UI自動化提供了使用用戶界面自動執(zhí)行人類操作的框架。但是,有許多應用程序和文件類型(例如Excel),可以通過使用在API級別上工作的活動包或使用特定于數(shù)據(jù)操作的技術來構建UiPath中的工作流。與通用的UI自動化相比,它們是理想的,因為它們更易于構建且更可靠。
?
注意:本課程是使用UiPath Studio 2019.7創(chuàng)建的。最新的Community Edition版本中的某些元素可能有所不同。
?
輸入動作和方法
總覽
每當我們將數(shù)據(jù)插入到應用程序中,或者將命令發(fā)送到系統(tǒng)以進行更改(或延續(xù))時,我們都會執(zhí)行輸入操作。?在UiPath中,主要輸入操作是“單擊”,“鍵入”,“發(fā)送熱鍵”和“懸?!薄?這些也是人類用戶在應用程序中輸入數(shù)據(jù)所執(zhí)行的主要動作。
輸入法
輸入法為輸入操作提供了輸入數(shù)據(jù)的手段。?每個輸入操作都允許用戶在3種方法之間進行切換:“模擬類型/單擊/懸?!?,“ SendWindowMessages”和默認方法。 可以通過在“屬性”面板中選中相應的框來選擇“模擬類型/點擊/懸?!焙汀?SendWindowMessages”; 如果兩個框均未選中,則使用默認輸入法。
--默認:?
它是如何工作的?
單擊:鼠標光標在屏幕上移動
鍵入:鍵盤驅(qū)動程序用于鍵入單個字符
?
這意味著什么?
自動化過程中,出席用戶無法觸摸鼠標或鍵盤
它具有較低的速度,加載時間會影響精度
?
優(yōu)點是什么?
支持特殊鍵,例如Enter,Tab和其他熱鍵
100%相容
?
有什么限制?
不會自動刪除以前寫的文本
在后臺不起作用
--發(fā)送窗口消息:
它是如何工作的?
重放使用鼠標/鍵盤時目標應用程序收到的窗口消息
點擊和輸入會立即發(fā)生
?
這意味著什么?
在后臺工作
在速度方面可與Default方法相比
?
優(yōu)點是什么?
支持特殊鍵,例如Enter,Tab和其他熱鍵
用戶可以在執(zhí)行自動化流程期間從事其他活動
?
有什么限制?
不會自動刪除以前寫的文本
僅適用于響應窗口消息的應用程序
--模擬:
它是如何工作的?
使用目標應用程序的技術(API級別)發(fā)送指令
點擊和輸入會立即發(fā)生
?
這意味著什么?
在后臺工作
動作要快很多,但是有一些兼容性限制
?
優(yōu)點是什么?
可以自動刪除以前寫的文字
用戶可以在執(zhí)行自動化流程期間從事其他活動
?
有什么限制?
不支持特殊鍵,例如Enter,Tab和其他熱鍵
它的兼容性比其他兩種方法低
?
輸入動作
就其主要功能而言,單擊,鍵入和發(fā)送熱鍵很簡單。?所有輸入操作都共享幾個屬性:
延遲:可用于設置點擊之前或之后的延遲;
WaitForReady:可以配置為通過驗證某些應用程序標簽來等待目標準備就緒。
可能更重要的是看到它們各自提供的選項:
--點擊
ClickType:可以是單次或兩次(將默認值更改為double使其非常類似于單獨的活動-Double Click);
MouseButton:可以配置為左,中或右鍵;
?超時:指定重試活動直到拋出錯誤的持續(xù)時間,
KeyModifiers:在執(zhí)行操作時可以按Alt,Ctrl,Shift和/或Win鍵。
?
--輸入
激活:在鍵入文本之前,將鍵入文本的字段置于最前面并激活;
ClickBeforeTyping:將在鍵入文本之前單擊要在其中鍵入文本的UI元素;
DelayBetweenKeys:鍵入每個鍵之間的延遲;
EmptyField:鍵入之前將清空UI元素。
?
--發(fā)送熱鍵
激活:在鍵入文本之前,將鍵入文本的字段置于最前面并激活;
ClickBeforeTyping:將在鍵入文本之前單擊要在其中鍵入文本的UI元素;
DelayBetweenKeys:鍵入每個鍵之間的延遲;
EmptyField:鍵入之前將清空UI元素。
?
輸出動作和方法
總覽
在UiPath中使用輸出操作來從UI元素提取數(shù)據(jù)(通常以文本形式)。 輸出方法使輸出動作能夠從UI元素提取數(shù)據(jù)。 讓我們先討論這些。
輸出方法
--FullText:?
FullText方法是默認方法,在大多數(shù)情況下都足夠好。 它是最快的,具有100%的準確性,并且可以在后臺運行。 此外,它可以提取隱藏的文本(例如,下拉列表中的選項)。 另一方面,它不支持虛擬環(huán)境,也無法捕獲文本位置和格式。
此方法提供了忽略隱藏消息并僅捕獲可見文本的選項。
--Native:
本機方法與使用圖形設計界面(GDI)(用于表示圖形對象的Microsoft API)的應用程序兼容。 它可以提取文本位置和格式(包括文本顏色),并且在支持GDI的應用程序上具有100%的準確性。 它的速度比FullText低,它不提取隱藏的文本,并且不能在后臺運行; 與FullText一樣,它也不支持虛擬環(huán)境。
默認情況下,它可以將所有已知字符作為分隔符(逗號,空格等)進行處理,但是當僅指定某些分隔符時,它可以忽略所有其他字符。
--OCR:
OCR(或光學字符識別)是唯一可在虛擬環(huán)境和從圖像中“讀取”文本的輸出方法。 它的技術依賴于識別每個字符及其位置。 另一方面,它不能在后臺運行,不能提取隱藏的文本,其速度是迄今為止最低的。 從一個文本到另一個文本,其準確性各不相同,更改設置也可以改善結(jié)果。 就像Native方法一樣,它也捕獲文本位置。
OCR方法具有兩個可以交替使用的默認引擎-Google Tesseract和Microsoft MODI。 還有其他OCR引擎可以免費安裝(例如Omnipage和Abbyy Embedded)或付費安裝(由Abbyy提供的IntelligentOCR)。
?
輸出動作
以下是最重要的輸出操作。?正如您將看到的,與輸入動作(每個輸入動作都可使用所有輸入法)的區(qū)別在于,輸出動作與輸出方法在某種程度上是匹配的。
--獲取文字活動
從指定的UI元素提取文本值。
?
--獲取全文活動
使用FullText屏幕抓取方法從指示的UI元素中提取字符串及其信息。 因此,默認情況下也會捕獲隱藏文本(盡管它提供了忽略隱藏文本的選項)。 使用FullText方法和容器執(zhí)行屏幕抓取時,會自動生成此活動。
?
--獲取可見文本活動
使用本機屏幕抓取方法從指示的UI元素中提取字符串及其信息。 當使用選定的Native方法以及容器執(zhí)行屏幕抓取時,將自動生成此活動。
?
--獲取OCR文本活動
使用OCR屏幕抓取方法從指示的UI元素提取字符串及其信息。 執(zhí)行屏幕抓取操作時,還可以自動生成此活動以及容器。 默認情況下,使用Tesseract OCR引擎。
?
--數(shù)據(jù)收集向?qū)?/strong>
數(shù)據(jù)抓取是UiPath Studio的一項功能,它允許將結(jié)構化信息從應用程序,瀏覽器或文檔中提取到DataTable變量中。 可以從UiPath Studio的“設計”功能區(qū)中的“數(shù)據(jù)收集”按鈕直接訪問該功能。
選擇的第一個元素用于填充第一列,并且還提供了提取URL(如果存在)的選項。 用戶可以更改列的順序,并指定要提取的最大條目數(shù)(默認為100,保留0表示提取所有結(jié)果)。 在“預覽”階段,“提取相關數(shù)據(jù)”選項可用于指示其他字段,方法是指示第一個和第二個條目,就像主字段一樣。
?
--提取屬性活動
實際上,這是一類活動,當您不想從UI元素中提取文本時可以使用,但可以是顏色,位置或祖先。有3種不同的UiPath活動可以做到這一點:
獲取祖先:UI元素位于父子結(jié)構中(一個文本文檔將Notepad應用作為父對象,將應用類別作為父對象,依此類推)。獲取祖先檢索UI元素的祖先(或父代)。
獲取屬性:UI元素具有很多屬性。考慮一下網(wǎng)站上的按鈕-它肯定具有顏色,名稱,狀態(tài)等。獲取屬性允許用戶指示屬性,活動將檢索該特定屬性的值。
獲取位置:此活動檢索特定元素在屏幕上的實際位置。當屏幕上有許多相似的元素時,這將非常有用。沒有他們的實際位置,將很難識別他們每個人。
?
使用UI元素
輸入和輸出操作可以看作是兩個連續(xù)的微步驟:首先,識別UI元素,然后輸入(或提取)數(shù)據(jù)。 在許多情況下,例如前面幾章中介紹的大多數(shù)示例,可以通過將其包含在活動中或使用delay選項來輕松地選擇第一步。 這就是為什么在很多情況下,根本沒有必要在實際的Click或Type活動之前進行單獨的活動來定位UI元素(例如Find Element活動)。
但是,在某些業(yè)務場景中,構建可靠的工作流意味著適應UI元素僅在不同時間移動或可見的情況。 此外,一些似乎很方便的解決方案,例如在執(zhí)行Click活動之前設置一個很大的Delay,可能會觸發(fā)整個自動化過程的顯著增加(例如,如果有50個Click活動)。
?
有幾種動作可用來定位UI元素,并且重要的是要知道每個元素何時有用:
--查找元素
等待指定的UI元素出現(xiàn)在屏幕上(位于前景中)并將其作為UiElement變量返回。 例如,當需要對找到的Ui元素執(zhí)行某些操作時,這很有用。
--元素存在
使您能夠驗證UI元素是否存在,即使它不可見。 例如,它返回一個布爾型變量,這使其在“ If語句”活動中非常有用。
?
--等待元素消失
等待指定的UI元素從屏幕上消失。 它是“查找元素”的替代方法,例如,當一個元素的消失(加載符號)比另一個元素的外觀更可靠時,
?
--出現(xiàn)在元素上
等待UI元素出現(xiàn)并允許您在其中執(zhí)行多個操作的容器。
?
--元素消失
一個容器,使您可以在指定的UI元素消失后執(zhí)行一個或多個操作。
?
--存在文字
檢查是否在給定的UI元素中找到了文本。 有一個替代版本,使用OCR技術檢查給定的UI元素。 當UI元素只能以圖像形式訪問時,這很有用。
?