在虚拟化环境中自动化的最简单方法是使用专用的 Citrix Recorder,它根据用户的操作自动生成完全配置的活动。它还便于使用诸如相对抓取(Relative Scraping)等技术。 Recording Wizard 旨在模拟人类行为,并专门用于使用特定于虚拟环境自动化的活动和技术,如 OCR 和 图像识别 活动。
有时,自动生成的选择器会得到易失性属性值来识别元素。这意味着活动可能不会在所有情况下正常工作,并且需要手动干预来校准选择器。可靠的选择器应该在任何情况下,无论外部因素(如分辨率或 UI 元素位置改变)如何变化,每次都能够成功地识别相同的元素。
通常,应用程序是通过单击它们的快捷方式或可执行文件来打开的。这些文件的位置通常可以通过几种方法来识别,例如屏幕坐标或选择器。而在虚拟化环境中,这些识别快捷方式位置的方法是不可用的。因此,对于单击动作,必须使用图像和 OCR 相关的活动来标识快捷方式或可执行文件的位置。
由于这些活动基于图像和文本识别,细微的图形差异,如分辨率的变化或突出显示图标,可能导致识别快捷方式失败。此问题的一个解决方案是选择图标中不包括背景图像的任何部分的区域,例如图标的中心区域。
在虚拟机环境中打开应用程序的最佳实践是为计算机桌面上的应用程序创建快捷方式,为其分配一个热键,然后使用 Send Hotkey 活动将该热键发送到远程桌面连接窗口。建议使用更复杂的快捷键组合,以避免与现有的快捷键产生干扰。
在虚拟环境中启动应用程序的另一种安全方法是使用命令窗口。例如,您可以使用 Send Hotkey 和 Type Into 将应用程序的路径发送到命令提示符终端。此方法还允许在打开应用程序的时候输入参数。
在某些情况下,等待应用程序的某种状态对于创建最佳的自动化是必不可少的。在桌面环境中,UiPath 活动被配置为在执行操作之前等待某些状态,因为 Studio 可以直接访问操作系统,并且可以在逻辑级别上理解应用程序。
在虚拟环境中,Studio 无法访问操作系统的底层元素,因此必须使用其他方法来标识应用程序状态。
为了确保在与应用程序交互之前应用程序已完全加载,必须标识显示页面或应用程序已加载的视觉元素,例如特定的图片或按钮。在这方面,您可以使用 On Image Appear 和 Find Image 活动来监视虚拟环境,并且仅当出现某个 UI 元素时才允许项目继续执行。
一个更好和更通用的解决方案是等待应用程序的加载图标消失,如果它存在的话。一个 On Image Vanish 活动可以用于这个目的,允许自动化只在加载图标消失时才会继续。
等待应用程序加载的一个错误做法是向项目中添加延迟(Delay )活动。这种方法很容易出错,因为软件程序的加载时间可能由于许多因素而不同。
由于虚拟环境无法通过常规手段识别 UI 元素,因此视觉锚是剩下的唯一选项。UiPath Studio 提供了使用OCR 或 Image Recognition 技术的活动,这些技术是在这种情况下使用的。
有几个 OCR 引擎可以与 UiPath Studio 一起使用:Google tesseract、Microsoft MODI 和 Abbyy。Google tesseract 引擎更适合于较小的区域,而 Microsoft MODI 则更适合于较大的区域。
如前所述,由于分辨率或背景颜色的变化,在虚拟环境中单击UI元素可能很棘手。因此,以最佳方式在 Citrix中插入数据意味着使用不容易出错的方法,例如使用键盘快捷键和将热键发送到虚拟机窗口来避免单击界面元素。
Relative Click(相对点击) 是一种技术,您可以使用其他按钮或标签作为锚点来单击 UI 元素。在找不到选择器的情况下,通过使用图像识别活动查找相邻的可视标签或其他此类元素来标识目标 UI 对象。
将数据从本机插入到虚拟环境的一种好方法是使用共享剪贴板。这种方法的优点是可以通过首先单击要自动化的应用程序并将 Ctrl+V 热键发送到虚拟机,轻松地粘贴数据。
为了避免识别 UI 元素的位置以单击它们,建议使用Tab、Enter和导航键切换按钮和文本字段。在虚拟机中键入文本的另一个非常有用的活动是 Type Into,因为它通过发送击键与应用程序交互,就像人类用户一样。
注意:
使用 Tab 键切换 UI 元素有时是不可靠的,因为UI布局的更新可能导致自动化不再正确。建议密切注意布局中的此类更改,并相应地更新项目。另外,发送选项卡键过快可能会导致目标应用程序无法接收其中的一些键,在这种情况下,建议使用延迟活动来增加发送键之间的时间。
如果使用键盘命令来导航 UI 元素中导航不可用,那么图像和文本识别是在虚拟环境中自动化的替代方法。图像识别有其自身的弱点,对环境变化(如,更改桌面主题或屏幕分辨率等)很敏感。
当应用程序在 Citrix 中运行时,分辨率应大于或等于录制自动化时的分辨率。否则,可以通过稍微降低图像活动的 Accuracy 属性来补偿小的图像失真。
检查应用程序布局在适应不同的分辨率会做出如何的调整,以确保视觉元素的接近性,特别是在基于坐标的技术 (如 Relative Clicking 和 Relative Scraping ) 的情况下。
为了使自动化能够支持不同的分辨率,可以将并行记录放置在 Switch 活动中,并且可以自动选择合适的记录以获得最佳分辨率。
从虚拟环境中获取数据有其自身的局限性,因为直接从 Native 和 FullText 两种数据抓取方法在虚拟环境中不起作用。因此,基于 OCR 的活动是抓取 Citrix 机器屏幕的关键。
与数据输入一样,共享剪贴板是从 Citrix 检索文本有用和可靠的工具,因为通过 Send Hotkey 活动将 Ctrl + C 热键发送到窗口可以轻松地访问它。Copy Selected Text 活动是另一个可以从虚拟机环境复制文本的活动,它的行为与共享剪贴板非常相似。
此外,相对抓取是一种有用的技术,它允许您使用 OCR 技术相对于窗口中的锚点从 UI 元素中检索文本,例如文本框标签或按钮。
返回目录
UiPath 常见问题及解决办法汇总
更多 UiPath 相关的资讯,请关注公众号:流程自动化机器人教程
由于简书禁止直接在文章中插入公众号二维码,请点击 这里 了解添加该公众号的细节。