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

原文地址:https://www.cnblogs.com/TeresaMu/p/9909573.html