【RPA之家UiPath官方教程】選擇器
選擇器
選擇器
在本課程中,我們將介紹選擇器是什么,UI資源管理器,屬性資源管理器,選擇器類型,在何處使用它們以及在遇到困難情況時(shí)如何微調(diào)選擇器。
受眾:RPA開發(fā)人員
學(xué)習(xí)目標(biāo)
在本課程結(jié)束時(shí),您應(yīng)該能夠:
說明選擇器是什么以及它們?nèi)绾喂ぷ鳎?/p>
自動(dòng)化時(shí)選擇正確的選擇器類型和設(shè)置;
描述用戶界面以及如何執(zhí)行其元素探索;
微調(diào)選擇器,以提高元素操作的精度。
?
關(guān)于本課程
介紹
在本課程中,我們將首先介紹選擇器的基本概念。?接下來,我們將涵蓋更深入的主題,例如UI資源管理器,屬性資源管理器,選擇器類型以及在何處使用它們,以及在遇到困難情況時(shí)如何微調(diào)選擇器。
受眾:RPA開發(fā)人員
課程時(shí)間:2小時(shí)
完成課程的要求:通過最低80%的分?jǐn)?shù)通過課程測驗(yàn)
先決條件:
基本編程知識(shí)
RPA開發(fā)人員角色課程簡介
變量,數(shù)據(jù)類型和控制流程
數(shù)據(jù)處理課程
Excel和數(shù)據(jù)表課程
UI互動(dòng)課程
?
學(xué)習(xí)目標(biāo)
在本課程結(jié)束時(shí),您將能夠:
1解釋選擇器是什么以及它們?nèi)绾喂ぷ鳌?/p>
2自動(dòng)化時(shí)選擇正確的選擇器類型和設(shè)置。
3描述如何執(zhí)行用戶界面元素探索。
4微調(diào)選擇器,以提高元素操作的精度。
?
注意:本課程是使用UiPath Studio 2019.7創(chuàng)建的。 最新的Community Edition版本中的某些元素可能有所不同。
?
選擇器介紹
什么是選擇器?
UiPath Studio中的選擇器是一項(xiàng)功能,可通過其地址和存儲(chǔ)為XML片段的屬性來標(biāo)識(shí)用戶界面元素。 完成元素標(biāo)識(shí)以執(zhí)行自動(dòng)化項(xiàng)目中的特定活動(dòng)。 每當(dāng)我們使用與圖形用戶界面元素進(jìn)行交互的活動(dòng)時(shí),選擇器就會(huì)自動(dòng)生成。
?
我們可以將通過選擇器實(shí)現(xiàn)的元素識(shí)別過程視為將信件發(fā)送到特定地址的郵遞員。?為了使郵遞員傳遞信件,需要指定路徑,并且必須包含結(jié)構(gòu)化和分層的詳細(xì)信息,例如“國家/地區(qū)”>“城市”>“郵政編碼”>“街道名稱”>“街道編號(hào)”>“公寓編號(hào)”。 同樣,UiPath Studio要求用戶界面中特定元素的詳細(xì)路徑。
?
選擇器在哪些業(yè)務(wù)場景中有用?
在大多數(shù)情況下,當(dāng)自動(dòng)化過程涉及使用UI元素時(shí),就會(huì)使用選擇器。 典型的活動(dòng)包括:
點(diǎn)擊按鈕
在網(wǎng)站的字段中輸入文字或從中輸入文字
從下拉列表中選擇一個(gè)選項(xiàng)
?
選擇器的標(biāo)簽和屬性
如您所見,選擇器由節(jié)點(diǎn)組成。?每個(gè)節(jié)點(diǎn)都由標(biāo)簽和屬性組成。 讓我們以一個(gè)例子來解釋兩者。 下面是一個(gè)選擇器節(jié)點(diǎn)。
<webctrl?parentid=‘slide-list-container’?tag=‘A’?aaname=‘Details’?class=‘btn-dwnl’?/>
標(biāo)簽:
選擇器XML片段中的節(jié)點(diǎn)
對(duì)應(yīng)屏幕上的視覺元素
第一個(gè)節(jié)點(diǎn)是應(yīng)用程序窗口
最后一個(gè)節(jié)點(diǎn)是元素本身
例如:
WND(窗口)
html(網(wǎng)頁)
Ctrl(控制)
webctrl(網(wǎng)頁控件)
java(Java應(yīng)用程序控件)
?
屬性:
每個(gè)屬性都有一個(gè)名稱和一個(gè)值。?您只能使用具有恒定值或已知值的屬性。
例如:
parentid =“幻燈片列表容器”
tag =“ A”
aaname =“詳細(xì)信息”
class =“ btn-dwnl”
?
UI資源管理器
它是什么?
UI資源管理器是UiPath Studio中的功能,允許分析和編輯選擇器。 它包含一個(gè)狀態(tài)按鈕,向用戶顯示選擇器的狀態(tài);一個(gè)可視樹面板,顯示當(dāng)時(shí)正在運(yùn)行的每個(gè)應(yīng)用程序的可導(dǎo)航UI,以及所選的UI元素。 UI資源管理器顯示所有可用的標(biāo)記和屬性,并提供簽入或簽出的選項(xiàng)。
?
我將在哪些業(yè)務(wù)場景中使用UI資源管理器?
根據(jù)先前突出顯示的問題,每當(dāng)自動(dòng)生成的選擇器不穩(wěn)定或適應(yīng)性不足時(shí):
選擇器從一個(gè)執(zhí)行變?yōu)榱硪粋€(gè)執(zhí)行
產(chǎn)品更新后,選擇器可能會(huì)更改
選擇器使用不可靠的信息,例如索引。
?
UI Explorer界面
?
UI框架
為了返回感興趣元素的最佳選擇器,我們可以在UiExplorer中可用的不同UI框架之間進(jìn)行切換。
--默認(rèn):?這是專有方法,通??稍谒蓄愋偷挠脩艚缑嫔险J褂?。
--主動(dòng)可及性:?這代表了Microsoft較早的解決方案,使應(yīng)用程序可訪問。 如果默認(rèn)框架不能按預(yù)期工作,則建議在使用舊版軟件時(shí)使用。
--?UI自動(dòng)化:?這是Microsoft改進(jìn)的可訪問性模型,當(dāng)默認(rèn)框架無法按預(yù)期工作時(shí),使用較新的應(yīng)用程序時(shí)建議使用該模型。
?
選擇器類型
如前所述,當(dāng)在活動(dòng)中指示UI元素或使用記錄器時(shí),會(huì)自動(dòng)生成選擇器。 當(dāng)使用在容器外部的容器內(nèi)部或以其他方式在容器內(nèi)部生成或添加的活動(dòng)時(shí),了解完全選擇器和部分選擇器之間的差異非常重要。
?
UiPath中的容器是“附加窗口”,“附加瀏覽器”和“打開瀏覽器”。
--完整選擇器:
包含識(shí)別UI元素所需的所有標(biāo)簽和屬性,包括頂層窗口
由基本記錄器生成
最適合當(dāng)執(zhí)行的動(dòng)作需要在多個(gè)窗口之間切換時(shí)。
?
--部分選擇器:
不包含頂層窗口的標(biāo)簽和屬性,因此帶有部分選擇器的活動(dòng)必須包含在容器中
由桌面錄像機(jī)生成
最適合在同一窗口中執(zhí)行多個(gè)操作。
?
什么時(shí)候使用部分或完整選擇器?
使用部分選擇器的最佳示例是簡單的自動(dòng)化,其中已部署的工作流僅在同一應(yīng)用程序中執(zhí)行操作,而不會(huì)像簡單的CRM那樣在多個(gè)窗口之間切換。
另一方面,如果實(shí)際上需要工作流與多個(gè)窗口(例如相同的CRM和文檔)進(jìn)行交互,這將使此特定示例中所需的UI元素分散在多個(gè)窗口中,則將需要完整選擇器。
?
微調(diào)
什么時(shí)候需要對(duì)選擇器進(jìn)行微調(diào)?
--動(dòng)態(tài)生成的選擇器
在某些網(wǎng)站上,屬性的值隨每次訪問而變化。
?
--選擇器過于具體
某些選擇器是使用文件名或更改后的值自動(dòng)生成的。?在這里,占位符非常有用。
?
--系統(tǒng)變更
一些選擇器包含應(yīng)用程序的版本或在應(yīng)用程序更新時(shí)更改的另一個(gè)元素。
?
--使用IDX的選擇器
IDX是具有多個(gè)相似元素的容器中當(dāng)前元素的索引。 當(dāng)新元素出現(xiàn)在同一容器中時(shí),這可能會(huì)更改。
?
什么是微調(diào)?
微調(diào)是優(yōu)化選擇器的過程,以便在所生成的選擇器相對(duì)于系統(tǒng)更改而言不可靠,過于具體或過于敏感的情況下正確執(zhí)行工作流程。
它主要由對(duì)整個(gè)過程有較大影響的小的簡單更改組成,例如添加通配符,使用修復(fù)功能或在選擇器中使用變量。
?
在哪些業(yè)務(wù)場景中需要進(jìn)行微調(diào)?
工作流使用名稱中帶有時(shí)間戳的文件。
構(gòu)建工作流的環(huán)境具有與生產(chǎn)環(huán)境不同的參數(shù)(例如,應(yīng)用程序版本);
動(dòng)態(tài)選擇器的使用將提高自動(dòng)化的可靠性和健壯性。
?
處理困難情況
在大多數(shù)情況下,自動(dòng)生成的選擇器不夠可靠,通過微調(diào)可以解決問題。?但是,還有其他一些情況,我們稱之為困難。 考慮一個(gè)UI元素的示例,該元素在每次運(yùn)行工作流時(shí)都會(huì)更改狀態(tài),位置或ID。
對(duì)于這些,還有其他方法:
--錨基地
這在屬性值不可靠(例如在每次執(zhí)行時(shí)生成)但具有穩(wěn)定且鏈接到目標(biāo)UI元素的UI元素的情況下非常有用。
Anchor Base活動(dòng)分為兩部分,一部分用于定位錨點(diǎn)UI元素(例如“ Find Element”),第二部分執(zhí)行所需的活動(dòng)
?
--相對(duì)選擇器
此活動(dòng)基本上會(huì)將有關(guān)錨點(diǎn)選擇器的信息合并到目標(biāo)UI元素的選擇器中。但是,新選擇器可能需要進(jìn)行其他編輯,因?yàn)榈谝粋€(gè)選擇器的某些節(jié)點(diǎn)仍將位于新選擇器中。解決方案是刪除該部分(例如動(dòng)態(tài)ID),然后選擇器將使用錨點(diǎn)的選擇器穩(wěn)定下來。
?
--可視樹層次結(jié)構(gòu)
可視樹中的層次結(jié)構(gòu)可以通過包含層次結(jié)構(gòu)中上方的元素的標(biāo)簽和屬性來提高選擇器的可靠性。
當(dāng)目標(biāo)用戶界面元素的選擇器不可靠,但層次結(jié)構(gòu)中上方的用戶界面元素的選擇器不可靠時(shí),此功能非常有用。但是,再次,選擇器需要進(jìn)一步的編輯和驗(yàn)證,因?yàn)樾枰獎(jiǎng)h除動(dòng)態(tài)零件,同時(shí),您需要確??梢允褂梦ㄒ粚傩詠順?biāo)識(shí)目標(biāo)元素。
?
--尋找子節(jié)點(diǎn)
此活動(dòng)可以標(biāo)識(shí)更穩(wěn)定的元素的所有子代。由于其輸出是子項(xiàng)的集合,因此您需要提出一種機(jī)制,以僅識(shí)別目標(biāo)UI元素(使用其屬性之一,這使得子項(xiàng)之間是唯一的,但不足以普遍地識(shí)別它)。
?
?
?
?
?
?
?
?
?
?
?