UiPath Studio

UiPath Studio 指南

用户界面自动化

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

Important!

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

桌面自动化

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

输入方法

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

The SimulateType and SimulateClick Properties

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

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

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

The AlterIfDisabled Property

The property instructs the target activity whether or not to interact with disabled elements. Please note that this property is only taken into consideration if the SimulateType or SimulateClick are enabled. You can find the AlterIfDisabled property for the following activities:

The SendWindowMessages Property

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

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

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

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

选取器

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

Here are some tips on how to improve a selector in the Selector Editor or UI Explorer:

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

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

容器

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

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

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

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

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

图像自动化

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

分辨率注意事项

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

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

OCR 引擎

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

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

用户界面同步

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

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

后台自动化

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

  • Use the SimulateType, SimulateClick, and SendWindowMessagesoptions for navigation and data entry via the Click and Type Into activities.
  • Use the Set Text, Check, and Select Item activities for background data entry.
  • The Get Text, Get Full Text, and WebScraping activities are the outputs that run in the background.
  • Use the Element Exists activity to verify application state.

5个月前更新


用户界面自动化


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.