【UiPath Studio 中文文檔】自動化程序的最佳實踐 - 02 UI 自動化

有時杂抽,通常的手動例程并不是自動化的最佳方法。在提交某種方法之前,請先仔細研究應(yīng)用程序的行為和 UiPath 的 集成或特性坯汤。

桌面自動化

當(dāng)機器人和應(yīng)用程序在同一臺機器上運行時怠蹂,最好使用 UI 自動化善延,因為 UiPath 可以直接與應(yīng)用程序內(nèi)的技術(shù)集成,以識別元素城侧、觸發(fā)事件并在幕后獲取數(shù)據(jù)易遣。

輸入方法

UiPath 有 3 中方法用來觸發(fā)應(yīng)用程序上的單擊活動或者輸入活動。這些方法在處理UI自動化的所有活動中都顯示為屬性嫌佑。

  • 如果 SimulateType 或者 Simulate Click 屬性被選中豆茫,UiPath 鉤入應(yīng)用程序并觸發(fā)之指定 UI 元素(按鈕、文本框)的事件處理程序屋摇。

  • 如果選中了 SendWindowMessages 屬性揩魂,UiPath 發(fā)送事件消息到程序的消息循環(huán)中,然后由程序的窗口程序派遣到目標(biāo) UI 元素內(nèi)部

輸入選項

如果沒有選擇上述選項炮温,Studio 會用硬件事件向系統(tǒng)驅(qū)動程序發(fā)送信號火脉,并讓操作系統(tǒng)將詳細信息分配給目標(biāo)元素。

這些方法應(yīng)該按照提出的順序來嘗試 SimulateClick 和 WindowMessages 更加快茅特,并且能在后臺工作忘分,但是它都依賴于應(yīng)用程序背后應(yīng)用的技術(shù)棋枕。

硬件事件在 Studio 中 100% 執(zhí)行像人工操作員一樣的動作白修,例如移動鼠標(biāo)指針和單擊特定的位置。然而重斑,在這種情況下兵睛,被自動化的程序必須顯示在屏幕上。這可以看作是一個缺點窥浪,因為它有被用戶干擾自動化運行

選擇器

有時祖很,自動生成的選擇器會提出易失性屬性值來識別元素,并且需要人工干預(yù)來校準(zhǔn)選擇器漾脂。

在開發(fā)假颇、測試和生產(chǎn)環(huán)境中,無論用戶是否登錄到應(yīng)用程序骨稿,可靠的選擇器每次都應(yīng)該成功地識別相同的元素笨鸡。

這里有一些關(guān)于如何在 Selector Editor 或者 UiExplor 中改進選擇器的技巧:

  • 用使屬性看起來穩(wěn)定和有意義的屬性替換為易失性值
  • 用通配符替換屬性值的可變部分
  • 剔除屬性值全是通配符的屬性
  • 如果編輯屬性沒有幫助,請嘗試添加更多的中間容器
  • 避免使用 idx 屬性坦冠,除非它的值是非常小的數(shù)字形耗,如1或2。

在上面的選擇器中辙浑,我們注意到頁面標(biāo)題引用了選擇器被記錄的時間激涤,還有一些屬性具有隨機的 ID。通過調(diào)整屬性判呕,我們可以設(shè)計出一個比 UiPath 記錄器生成的更好的選擇器倦踢。

容器

與文件路徑類似送滞,選擇器可以是完整的,也可以是部分的(相對的)辱挥。完整選擇器從窗口或 html 標(biāo)識符開始累澡,具有在整個桌面上查找元素所需的所有信息,而部分選擇器僅在指定元素所屬的頂級窗口的 附加容器 中工作般贼,例如以下是一些常見的附加容器:

  • OpenBrowser
  • OpenApplication
  • AttachBrowser
  • AttachWindow

以下是一些關(guān)于完整和部分選擇器的更多信息愧哟。
使用帶有部分選擇器而不是完全選擇器的容器有幾個優(yōu)點:

  • 可視地分組在同一應(yīng)用程序上工作的活動
  • 稍微快一點,不要每次都去找最上面的窗口
  • 在需要手動更新的情況下哼蛆,可以更容易地管理頂級選擇器
  • 在處理同一應(yīng)用程序的兩個實例時必不可少

圖像自動化

如果沒有其他方法來識別屏幕上的 UI 元素( 比如選擇器或鍵盤快捷鍵 )蕊梧,圖像識別是自動化應(yīng)用程序的最后一種方法。

由于圖像要求元素完全顯示在屏幕上并且所有顯示的細節(jié)在運行時必須與設(shè)計時一致腮介,所以使用圖像自動化時必須格外小心肥矢,要確保程序執(zhí)行的可靠性。比實際需要的多選或者少選圖像可能導(dǎo)致圖像無法找到或者實際為錯誤的匹配叠洗。

考慮分辨率

圖像匹配對于環(huán)境變化是非常敏感的甘改,如桌面主題或屏幕分辨率的改變。
當(dāng)應(yīng)用程序在 Citrix 中運行時灭抑,分辨率應(yīng)大于或等于記錄工作流時的分辨率十艾。否則,可以通過稍微降低捕捉到的圖像精度因子來補償小的圖像失真腾节。檢查應(yīng)用程序布局如何調(diào)整自身以適應(yīng)不同的分辨率忘嫉,以確保視覺元素的接近,特別是在基于坐標(biāo)的技術(shù)(如相對單擊和相對抓取)的情況下案腺。

如果自動化系統(tǒng)支持不同的分辨率庆冕,則可以將并行記錄放置在 PickBranch 活動中,機器人可以使用任何一種匹配劈榨。

OCR 引擎

如果 OCR 為應(yīng)用程序返回了良好的結(jié)果访递,那么文本自動化是將環(huán)境影響降到最低的一個很好的選擇。Google tesseract 引擎在較小的區(qū)域工作更好同辣,而 Microsoft MODI 則適用于更大的區(qū)域拷姿。

在循環(huán)自動化中使用 MODI 引擎有時會造成內(nèi)存泄漏。這就是為什么建議通過單獨的工作流邑闺,使用隔離屬性調(diào)用 MODI 完成的抓取跌前。

UI 同步

當(dāng)應(yīng)用程序不處于工作流假定的狀態(tài)時,可能會發(fā)生意外行為陡舅。首先要注意的是應(yīng)用程序響應(yīng)機器人交互所需的時間抵乓。DelayMs 屬性使您能夠等待應(yīng)用程序響應(yīng)一段時間。但是,在處理過程中的某些步驟之前灾炭,必須對應(yīng)用程序的狀態(tài)進行驗證茎芋。度量可以包括使用其他交互之前等待所需應(yīng)用程序狀態(tài)的額外活動◎诔觯可能有助于下列活動的活動:

  • Element Exists, Image Exists, Text Exists, OCR Text Exists
  • Find Element, Find Image, Find Text Position
  • Wait Element Vanish, Wait Image Vanish
  • Wait Screen Text (在終端中)

后臺自動化

如果自動化是為了與人工用戶共享桌面田弥,則必須在后臺實現(xiàn)所有UI交互。這意味著自動化必須直接使用UI元素對象铡原,從而允許應(yīng)用程序窗口在過程中被隱藏或最小化偷厦。

  • 通過 Click 和 Type Into 活動來導(dǎo)航和輸入數(shù)據(jù)時使用 SimulateType, SimulateClick, 和 SendWindowMessages 選項
  • 使用 Set Text, Check, 和 Select 活動來在后臺輸入數(shù)據(jù)
  • Get Text, Get Full Text, 和 WebScraping 是在后臺執(zhí)行輸出數(shù)據(jù)的活動.
  • 使用 Element Exists 活動來驗證應(yīng)用程序的狀態(tài)

官方原文鏈接

返回目錄
UiPath 常見問題及解決辦法匯總

更多 UiPath 相關(guān)的資訊,請關(guān)注公眾號:流程自動化機器人教程
由于簡書禁止直接在文章中插入公眾號二維碼燕刻,請點擊 這里 了解添加該公眾號的細節(jié)只泼。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市卵洗,隨后出現(xiàn)的幾起案子请唱,更是在濱河造成了極大的恐慌,老刑警劉巖过蹂,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件十绑,死亡現(xiàn)場離奇詭異,居然都是意外死亡酷勺,警方通過查閱死者的電腦和手機本橙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸥印,“玉大人勋功,你說我怎么就攤上這事】馑担” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵片择,是天一觀的道長潜的。 經(jīng)常有香客問我,道長字管,這世上最難降的妖魔是什么啰挪? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮嘲叔,結(jié)果婚禮上亡呵,老公的妹妹穿的比我還像新娘。我一直安慰自己硫戈,他們只是感情好锰什,可當(dāng)我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般汁胆。 火紅的嫁衣襯著肌膚如雪梭姓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天嫩码,我揣著相機與錄音誉尖,去河邊找鬼。 笑死铸题,一個胖子當(dāng)著我的面吹牛铡恕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播丢间,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼没咙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了千劈?” 一聲冷哼從身側(cè)響起祭刚,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎墙牌,沒想到半個月后涡驮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡喜滨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年捉捅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虽风。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡棒口,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辜膝,到底是詐尸還是另有隱情无牵,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布厂抖,位于F島的核電站茎毁,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏忱辅。R本人自食惡果不足惜七蜘,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望墙懂。 院中可真熱鬧橡卤,春花似錦、人聲如沸损搬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谈为,卻和暖如春旅挤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背伞鲫。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工粘茄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人秕脓。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓柒瓣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吠架。 傳聞我的和親對象是個殘疾皇子芙贫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)傍药,斷路器磺平,智...
    卡卡羅2017閱讀 134,672評論 18 139
  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明先生_X自主閱讀 15,982評論 3 119
  • 今天我把書桌上的掛燈拆下來掛在了床上 小小的燈照亮了小小的空間 終于有一個屬于自己的小空間 而且發(fā)現(xiàn)了這個挺好用的...
    阿夢吖閱讀 122評論 0 0
  • 孤獨是一杯酒拐辽, 芬芳卻又苦澀拣挪。 孤獨是一首歌, 動聽卻又哀怨俱诸。 孤獨是一本書菠劝, 精彩卻又曲折。 孤獨是一條路睁搭, 絢...
    聽雨軒0755閱讀 194評論 0 0
  • 文/葉秋臣 【電視劇 扶搖 25-26集劇評】 扶搖和無極終于要成婚了园骆,鴨頭和柿子終于要燉成一鍋了舔痪。 喜悅之情,已...
    葉秋臣閱讀 710評論 0 2