重要
使用用户界面自动化活动的自动化流程无法在屏幕锁定时运行。
有时,常规的手动过程并不是自动化的最佳方式。在提交某种方法之前,请仔细研究应用程序的行为和 UiPath 的集成/特性。
备注:
Using the Parallel activity with UI Automation activities is not supported and often results in unforeseen consequences.
桌面自动化
当机器人和应用程序在同一台计算机上运行时,最好使用用户界面自动化,因为 UiPath 可以直接与应用程序背后的技术集成,以识别元素、触发事件并在后台获取数据。
输入方法
UiPath 可以采用三种方法在应用程序上触发“单击”或“键入”活动。在处理用户界面自动化的所有活动中,这些活动都显示为属性。
“模拟键入”和“模拟单击”属性
如果选择“模拟键入”或“模拟单击”属性,则 Studio 会钩入应用程序,并触发指定用户界面元素(按钮、文本框)的事件处理程序。结果始终依赖于目标技术,例如网页浏览器或业务应用程序。
为以下活动启用“模拟键入”和“模拟单击”时,强烈建议您在执行之前查看目标用户界面元素的状态。
同样的建议也适用于下列应用,因为它们默认使用“模拟键入”和“模拟单击”属性,且不支持更改:
“如果禁用则更改”属性
该属性指示目标活动是否与禁用的元素进行交互。请注意,仅在启用“模拟类型”或“模拟单击”时才考虑此属性。您可以找到以下活动的“如果禁用则更改”属性:
“发送窗口消息”属性
如果选择了“发送窗口消息”属性,那么 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 标识符开始,而且包含在整个桌面上查找元素所需的所有信息,而部分选取器仅在附加/容器中有效,附加/容器指定了元素所属的顶级窗口:
- OpenBrowser
- OpenApplication
- AttachBrowser
- AttachWindow
Here is a bit more info on Full versus Partial Selectors.
使用带有部分选取器(而非带有完全选取器)的容器有如下优势:
- 以直观方式将同一应用程序上运行的活动进行分组。
- 速度稍微快一点,不要每次都寻找顶部窗口。
- 在需要手动更新的情况下,可以更容易地管理顶级选取器。
- 在处理同一应用程序的两个实例时必不可少。
图像自动化
如果没有其他方法来识别屏幕上的用户界面元素(比如选取器或键盘快捷方式),图像识别是自动化应用程序的最终方法。由于图像匹配要求元素在屏幕上完全可见,并且要求所有可见的细节在运行时与开发期间相同,因此利用图像自动化来解决问题时,应该格外小心,以确保过程的可靠性。如果选择的图像数量超过或少于所需要的数量,可能会导致找不到图像或出现误报。
分辨率注意事项
图像匹配对于环境变化很敏感,如桌面主题或屏幕分辨率。当应用程序在 Citrix 中运行时,分辨率应大于或等于录制工作流时的分辨率。否则,可以通过稍微降低捕获的图像精确系数来补偿小图像失真。检查应用程序布局如何调整自身以适应不同的分辨率,以确保视觉元素的接近性,特别是在基于坐标的技巧(如“相对单击”和“相对抓取”)的情况下。
如果自动化支持不同的分辨率,则并行录制可以放置在“选取分支”活动中,并且机器人使用任一匹配。
OCR 引擎
如果 OCR 针对应用程序返回了优质结果,那么文本自动化是将环境影响力降到最低的最佳选择。Google Tesseract 引擎适合于较小的区域,而 Microsoft Modi 则更适合于较大的区域。
在循环自动化中使用 MODI 引擎有时会产生内存泄漏。这就是为什么建议通过单独工作流(使用“隔离”属性)来调用通过 MODI 完成的抓取。
用户界面同步
当应用程序没有处于工作流假定的状态时,可能会发生意外行为。首先要注意的是应用程序响应机器人交互所花费的时间。
“延迟(毫秒)”属性使您能够等待应用程序响应。但是,某些情况下在继续流程中的某些步骤之前,必须对应用程序的状态进行验证。措施可以包括:在其他交互之前使用额外的活动,这些额外的活动等待所需要的应用程序状态。可能有所帮助的活动包括:
- Element Exists, Image Exists, Text Exists, OCR Text Exists.
- Find Element, Find Image, Find Text Position.
- Wait Element Vanish, Wait Image Vanish.
- Wait Screen Text (in terminals).
后台自动化
如果自动化是为了与人工用户共享桌面,则必须在后台实现所有用户界面交互。这意味着自动化必须直接处理用户界面元素对象,从而允许应用程序窗口在过程中被隐藏或最小化。
- 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.
操作方法
如何以 PiP 执行 Chrome/Edge/Firefox 自动化流程,而不会中断主会话中的工作
When executing web automation with Chrome/Edge/Firefox browsers in the child session of a PictureInPicture (PiP) mode and you want to continue using the browser in the main session, please know that both Chrome and Edge cannot be launched simultaneously, in different sessions, while using the same user data directory.
默认文件夹由浏览器在首次启动时创建。在 Windows 上,默认文件夹位置为 %LOCALAPPDATA%\Google\Chrome\User Data
。您的浏览器配置文件数据保存在此处,并且您创建的每个新浏览器配置文件都有自己的空间:导航历史记录、书签和 Cookie。
如果作为用户,出于任何特定原因,您选择使用自己的自定义数据文件夹启动浏览器,则可以使用以下命令启动浏览器:chrome.exe --user-data-dir=c:\foo
。您的所有配置文件数据都将保存在该自定义文件夹下。
To bypass this limitation, the Modern UseApplicationBrowser and the Classic OpenBrowser activities provide an out-of-the-box solution: the UserDataFolderMode and UserDataFolderPath properties which instruct the activity on launching the browser with either its default folder, the one automatically generated by the activity, or a custom one, specified by the latter property.
让我们仔细看看这些属性是如何工作的。
案例 1
无需了解有关用户数据文件夹的所有详细信息,只需让自动化以 PiP 启动浏览器并完成其工作,从而让您可以在主会话中完成自己的工作。然后,只需将“用户数据文件夹模式”留空。其默认值将从“项目设置/应用程序浏览器”部分继承为“自动”:机器人将自动为您创建临时数据文件夹/配置文件,以便以 PiP 模式运行自动化。
案例 2
建议您使用默认的用户数据文件夹以 PiP 模式执行自动化,因为该文件夹包含您的默认配置文件以及所有业务应用程序登录历史记录和 Cookie。将“用户数据文件夹模式”设置为“默认文件夹”。请记住,在 PiP 自动化完成和/或 PiP 浏览器停止之前,您无法在工作会话中启动浏览器。
案例 3
您知道自己在做什么,并且了解浏览器限制和 UiPath 提供的功能。将“用户数据文件夹模式”设置为“自定义文件夹”,并将“用户数据文件夹路径”设置为您选择的路径。
For all of the above cases, we recommend installing the extension per group policy. This way, the extension is available and activated for any browser profiles, regardless if they are created in default or custom user data folders.
约一个月前更新