studio
2020.10
false
不在支持范围内
Studio 用户指南
Last updated 2023年12月20日

用户界面自动化

重要事项:使用用户界面自动化活动的自动化流程无法在屏幕锁定时运行。

有时,常规的手动过程并不是自动化的最佳方式。在提交某种方法之前,请仔细研究应用程序的行为和 UiPath 的集成/特性。

注意:不支持在用户界面自动化活动中使用并行活动,这样做常常会导致不可预见的后果。

桌面自动化

当机器人和应用程序在同一台计算机上运行时,最好使用用户界面自动化,因为 UiPath 可以直接与应用程序背后的技术集成,以识别元素、触发事件并在后台获取数据。

输入方法

UiPath 可以采用三种方法在应用程序上触发“单击”或“键入信息”活动。在处理用户界面自动化的所有活动中,这些活动都显示为属性。

“模拟键入”和“模拟单击”属性

如果选择了“模拟键入”或“模拟单击”属性,Studio 会将其钩入应用程序,并触发指定用户界面元素(按钮或文本框)的事件处理程序。结果始终依赖于目标技术,例如网页浏览器或业务应用程序。

为以下活动启用“模拟键入”和“模拟单击”时,强烈建议您在执行之前查看目标用户界面元素的状态:

同样的建议也适用于下列应用,因为它们默认使用“模拟键入”和“模拟单击”属性,且不支持更改:

“如果禁用则更改”属性

该属性指示目标活动是否与禁用的元素进行交互。请注意,仅在启用“模拟类型”或“模拟单击”时才考虑此属性。您可以找到以下活动的“如果禁用则更改”属性:

“发送窗口消息”属性

如果选择了“发送窗口消息”属性,那么 Studio 会将事件详细信息发布到应用程序消息循环,应用程序的窗口过程在内部将其分发给目标用户界面元素。



如果没有选择上述选项,Studio 会通过硬件事件向系统驱动程序发送信号,并让操作系统将详细信息分发给目标元素。



应按照显示的顺序来尝试这些方法应,因为“模拟单击”和“发送窗口消息”属性速度更快,并且在后台也能工作,但它们主要依赖于应用程序背后的技术。

硬件事件 100% 起作用,因为 Studio 执行的操作就像人工操作者一样,例如移动鼠标指针和单击特定位置。但是,在这种情况下,将要自动化的应用程序需要在屏幕上可见。这可以视为一个缺点,因为存在用户可能会干扰自动化的风险。

选取器

有时,自动生成的选取器会提出易失性属性值来识别元素,并且需要人工干预来校准选取器。在开发、测试和生产环境中,无论登录应用程序的用户名是哪个,可靠的选取器在所有情况下应该每次都能成功识别同一元素。

以下是关于如何改进“选取器编辑器”或“UI Explorer”中的选取器的一些技巧:

  • 将包含易失性值的属性替换为可能更稳定且有意义的属性。
  • 将属性值的变量部分替换为通配符 (*)。
  • 如果属性值都是通配符(例如 name=’*’),那么应该删除该属性。
  • 如果编辑属性没有作用,请尝试添加更多的中间容器。
  • 避免使用 idx 属性,除非它的值是一个非常小的数字,如 1 或 2。


在上面的选取器中,我们注意到页面标题引用了选取器被录制的时间,还有一些属性具有看似随机的 ID。调整属性,我们可以找出一个比提议的 UiPath 录制器更好的选取器。



容器

与文件路径类似,选取器可以是完整的,也可以是部分的(相对)。完整选取器是从窗口或 HTML 标识符开始,而且包含在整个桌面上查找元素所需的所有信息,而部分选取器仅在附加/容器中有效,附加/容器指定了元素所属的顶级窗口:

  • 打开浏览器
  • 打开应用程序
  • 附加浏览器
  • 附加窗口

以下提供了有关完整选取器与部分选取器对比的详细信息。

使用带有部分选取器(而非带有完全选取器)的容器有如下优势:

  • 以直观方式将同一应用程序上运行的活动进行分组。
  • 速度稍微快一点,不要每次都寻找顶部窗口。
  • 在需要手动更新的情况下,可以更容易地管理顶级选取器。
  • 在处理同一应用程序的两个实例时必不可少。

图像自动化

如果没有其他方法来识别屏幕上的用户界面元素(比如选取器或键盘快捷方式),图像识别是自动化应用程序的最终方法。由于图像匹配要求元素在屏幕上完全可见,并且要求所有可见的细节在运行时与开发期间相同,因此利用图像自动化来解决问题时,应该格外小心,以确保过程的可靠性。如果选择的图像数量超过或少于所需要的数量,可能会导致找不到图像或出现误报。

分辨率注意事项

图像匹配对于环境变化很敏感,如桌面主题或屏幕分辨率。当应用程序在 Citrix 中运行时,分辨率应大于或等于录制工作流时的分辨率。否则,可以通过稍微降低捕获的图像精确系数来补偿小图像失真。检查应用程序布局如何调整自身以适应不同的分辨率,以确保视觉元素的接近性,特别是在基于坐标的技巧(如“相对单击”和“相对抓取”)的情况下。

如果自动化支持不同的分辨率,则并行录制可以放置在“选取分支”活动中,并且机器人使用任一匹配。

OCR 引擎

如果 OCR 针对应用程序返回了优质结果,那么文本自动化是将环境影响力降到最低的最佳选择。Google Tesseract 引擎适合于较小的区域,而 Microsoft Modi 则更适合于较大的区域。

在循环自动化中使用 MODI 引擎有时会产生内存泄漏。这就是为什么建议通过单独工作流(使用“隔离”属性)来调用通过 MODI 完成的抓取。

用户界面同步

当应用程序没有处于工作流假定的状态时,可能会发生意外行为。首先要注意的是应用程序响应机器人交互所花费的时间。

延迟(毫秒)”属性使您能够等待应用程序响应。但是,某些情况下在继续流程中的某些步骤之前,必须对应用程序的状态进行验证。措施可以包括:在其他交互之前使用额外的活动,这些额外的活动等待所需要的应用程序状态。可能有所帮助的活动包括:

后台自动化

如果自动化是为了与人工用户共享桌面,则必须在后台实现所有用户界面交互。这意味着自动化必须直接处理用户界面元素对象,从而允许应用程序窗口在过程中被隐藏或最小化。

  • 桌面自动化
  • 输入方法
  • 选取器
  • 容器
  • 图像自动化
  • 分辨率注意事项
  • OCR 引擎
  • 用户界面同步
  • 后台自动化

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。