UiPath Level 1-Lesson 7. Image and Text Automation


簡介:

Citrix通常被視為虛擬化環境。在這種情況下,用戶界面表示為圖像,因此我們無法通過操作系統直接與應用程序進行交互。本課將介紹在Citrix自動化中使用的一些方法:包括圖像、文本和按鍵的自動化,使用Citrix錄制器,以及設置和使用OCR。

學習大綱:

  • 如何使用Citrix錄制模式
  • 如何通過Click Image活動實現圖像的自動化
  • 如何通過Click Text活動實現文字的自動化
  • 如何使用Scrape Relative提取數據

 

1. Citrix Recording和鼠標活動

Citrix錄制器使用的工具和方法專為虛擬機的自動化而設計,但是它在其他類型的自動化中也很有用。

VM(Virtual Machine, 虛擬機)通常在服務器上運行,用戶僅能看到界面的圖像,因此UiPath無法直接與VM上的應用程序進行交互,Selector在這種情況下也無法使用。之前的錄制方法都是先錄下一組操作再讓程序重放,而使用Citrix錄制時,我們需要“手把手”地教會機器人在VM上應該怎樣做。

實例:打開遠程桌面上的某應用程序,選中Deposit單選按鈕,在右邊的文本框里輸入金額。

分析:人為的操作是,首先先讀取元素的名稱、描述、標簽等,然后再選取對應的控件,有些還需要錄入數據。

方法:根據之前分析的人為做法,我們可以讓機器人去做同樣的事情。

1) 點擊Click Image工具,拖動鼠標框選界面中的任何元素,但要確保所選的部分在界面上是唯一的

這里我們選擇Deposit單選按鈕,在這個界面里沒有和它相同的地方。

2) 選取完成后彈出對話框,在對話框里可以設置鼠標點擊的位置、在區域外部或者內部點擊。下圖設置為在矩形框的中間點擊鼠標。

3) 使用這個工具不能選擇文本框這一類元素,但是可以選擇距離它最近的,同時又是界面上唯一的元素,並且該元素的位置相對於目標文本框是不變的。這里我們選擇文本框的標簽Cash In。

 

4) 選擇完成后彈出對話框,用indicate a point on the screen來指定鼠標點擊的位置,即文本框。

5) 最后,使用錄制器的Type工具在文本框里輸入金額。

6) 還可以使用另一種工具:Click Text

 

點擊Click Text工具,再點擊目標文本,會彈出Screen Scraper窗口。該界面和之前學過的Screen Scraper工具的界面基本一致,但是多了幾個選項。

 

7) 在Text to be found文本框里輸入目標文本,此處我們輸入第三個文本框的標簽文字Not On Us Check。輸入完成后,UiPath就會找到並點擊這個文字。但是這里我們想要點擊的是文字旁邊的文本框,因此還需要設置Set mouse position

*Occurence在當界面上有相同的文本時可以用得到。

8) 點擊Set mouse position后,會出現與Click Image工具相似的對話框。點擊indicate a point on the screen,再點擊目標文本框即可。最后使用Type工具輸入金額。

 

比較Click Text和Click Image:

  • Click Text工具使用OCR掃描VM的屏幕來獲取文本信息,因此即使窗口主題和文字大小發生改變,它依然可以正常運行。但是由於OCR並不能保證100%的准確,只要某一個字母出現錯誤,程序就容易失控。
  • Click Image工具的速度更快且更准確,但是它對於圖形的變化比較敏感。當應用程序的顏色或背景的精細度發生變化時,它就很容易出錯。

 

參數設置:

下面是Click Image活動和Click OCR Text活動的一些常用參數:

1) Click Type:設置點擊鼠標的方式,比如單擊、雙擊等。,雙擊或者單機,左鍵、中間、右鍵可以在這里選擇。添加輔助按鍵

2) Mouse Button:設置點擊的按鈕,左鍵、右鍵還是中鍵。

3) Key Modifiers:添加輔助鍵。

4) Accuracy:Click Image的參數。取值范圍為0-1,值越高代表要求圖片的相似度越高。1表示圖片必須100%匹配,0.8在准確性和可靠性上比較平衡。


 

2. Citrix Recording和鍵盤活動

Click Image和Click Text存在一些缺點使它們在一些情況下無法做到100%的准確,因此有時候Keyboard Automation可能是更好的選擇。 

思路:

使用Tab鍵來導航,或者使用快捷鍵來激活應用程序的某些功能。

方法:

用Type工具即Type Into活動添加按鍵。

1) 可以分別添加到多個Type Into活動。

2) 也可以將多個按鍵活動組合到一個Type Into活動中。添加空格是為了當Tab跳到Accept按鈕上時按下該按鈕。

不管是不是在VM上,Keyboard Automation都是與應用程序交互的一個非常有效的方法。


 

3. 從VM中提取信息

方法有兩種:Select & Copy或者Scrape Relative

Select & Copy工具:僅對可選取的文本有效。所有命令都將發送給整個VM窗口,因此動作只會發生在當前激活的文本框里,需要結合Click Image活動、Click Text活動或者Keyboard Automation三種輸入方法先激活目標文本框。

注意剪貼板必須能夠在本地電腦和Citrix環境下共享才可以使用此方法。

相關活動:

  • Type Into活動:選取文本
  • Copy Selected Text活動:復制文本,輸出變量在參數Result里。

  

Scrape Relative工具:根據一個錨點,獲取圖片里的某一部分信息。

實例:獲取Transaction#和Total Deposit的數據(二者不是selectable fields)。

方法:

1) 選擇Screen Scraping下拉菜單中的Scrape Relative工具。

2) 通過拖拽選取錨點區域。這里首先選取Total Deposit。

3) 選取結束后彈出對話框,要求指定與錨點相關的區域,即要獲取的文本所在的區域。

 

4) 同樣通過拖拽選取相關的區域。這里選取Total Deposit的值。 

5) 選取完成后彈出Screen Scraper的向導窗口,如果得到的預覽數據不理想,可以修改OCR Engine和Scale的值來獲得更好的結果。這里修改為Google OCR,Scale設置為3。

 

相關活動:

  • Find Image活動
  • Translate Clipping Region活動
  • Get OCR Text活動
  • Reset Clipping Region活動:Clipping Region是共享資源,每次使用完最好重置以避免干擾。

*輸出變量在Get OCR Text活動中。

 


 

4. 練習

下載並打開Expenselt應用程序,只通過Image/Text和Hotkeys來登陸賬戶。

思路:使用Citrix錄制模式進行操作。

注意:確保Microsoft OCR Engine已安裝。

 


 

*本課使用過的新活動、方法、函數等: 

Click Image

Click OCR Text

Copy Selected Text

Find Image

Translate Clipping Region

Reset Clipping Region


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM