- 发行说明
- 入门指南
- 设置和配置
- 自动化项目
- 依赖项
- 工作流类型
- 控制流程
- 文件比较
- 自动化最佳实践
- 工作流设计
- 用户界面自动化
- 项目组织
- 自动化生命周期
- 重用用户界面组件的方法
- 源代码控件集成
- 调试
- 日志记录
- 诊断工具
- 工作流分析器
- 变量
- 参数
- 导入的命名空间
- 编码自动化
- 基于触发器的 Attended 自动化
- 录制
- 用户界面元素
- 选取器
- 对象存储库
- 数据抓取
- 图像与文本自动化
- Citrix Technologies Automation
- RDP 自动化
- VMware Horizon 自动化
- Salesforce 自动化
- SAP 自动化
- macOS 用户界面自动化
- ScreenScrapeJavaSupport 工具
- Webdriver 协议
- 扩展程序
- 测试套件 - Studio
- 故障排除
用户界面自动化
有时,通常的手动例程并不是自动化的最佳方式。在采用某种方法之前,请仔细探索应用程序的行为和 UiPath 集成/功能。
当机器人和应用程序在同一台计算机上运行时,最好使用用户界面自动化,因为 UiPath 可以直接与应用程序背后的技术集成,以识别元素、触发事件并在后台获取数据。
UiPath 可以采用三种方法在应用程序上触发“单击”或“键入信息”活动。在处理用户界面自动化的所有活动中,这些活动都显示为属性。
“模拟键入”和“模拟单击”属性
如果选择了“模拟键入”或“模拟单击”属性,Studio 会将其钩入应用程序,并触发指定用户界面元素(按钮或文本框)的事件处理程序。结果始终依赖于目标技术,例如网页浏览器或业务应用程序。
为以下活动启用“模拟键入”和“模拟单击”时,强烈建议您在执行之前查看目标用户界面元素的状态:
同样的建议也适用于下列应用,因为它们默认使用“模拟键入”和“模拟单击”属性,且不支持更改:
“如果禁用则更改”属性
该属性指示目标活动是否与禁用的元素进行交互。请注意,仅在启用“模拟类型”或“模拟单击”时才考虑此属性。您可以找到以下活动的“如果禁用则更改”属性:
“发送窗口消息”属性
如果选择了“发送窗口消息”属性,那么 Studio 会将事件详细信息发布到应用程序消息循环,应用程序的窗口过程在内部将其分发给目标用户界面元素。
如果没有选择上述选项,Studio 会通过硬件事件向系统驱动程序发送信号,并让操作系统将详细信息分发给目标元素。
应按照显示的顺序来尝试这些方法应,因为“模拟单击”和“发送窗口消息”属性速度更快,并且在后台也能工作,但它们主要依赖于应用程序背后的技术。
硬件事件 100% 起作用,因为 Studio 执行的操作就像人工操作者一样,例如移动鼠标指针和单击特定位置。但是,在这种情况下,将要自动化的应用程序需要在屏幕上可见。这可以视为一个缺点,因为存在用户可能会干扰自动化的风险。
有时,自动生成的选取器会提出易失性属性值来识别元素,并且需要人工干预来校准选取器。在开发、测试和生产环境中,无论登录应用程序的用户名是哪个,可靠的选取器在所有情况下应该每次都能成功识别同一元素。
以下是关于如何改进“选取器编辑器”或“UI Explorer”中的选取器的一些技巧:
- 将包含易失性值的属性替换为可能更稳定且有意义的属性。
- 将属性值的变量部分替换为通配符 (*)。
- 如果属性值都是通配符(例如
name=’*’
),那么应该删除该属性。 - 如果编辑属性没有作用,请尝试添加更多的中间容器。
-
避免使用
idx
属性,除非它的值是一个非常小的数字,如 1 或 2。
在上面的选取器中,我们注意到页面标题引用了选取器被录制的时间,还有一些属性具有看似随机的 ID。调整属性,我们可以找出一个比提议的 UiPath 录制器更好的选取器。
与文件路径类似,选取器可以是完整的,也可以是部分的(相对)。完整选取器是从窗口或 HTML 标识符开始,而且包含在整个桌面上查找元素所需的所有信息,而部分选取器仅在附加/容器中有效,附加/容器指定了元素所属的顶级窗口:
- 打开浏览器
- 打开应用程序
- 附加浏览器
- 附加窗口
以下提供了有关完整选取器与部分选取器对比的详细信息。
使用带有部分选取器(而非带有完全选取器)的容器有如下优势:
- 以直观方式将同一应用程序上运行的活动进行分组。
- 速度稍微快一点,不要每次都寻找顶部窗口。
- 在需要手动更新的情况下,可以更容易地管理顶级选取器。
- 在处理同一应用程序的两个实例时必不可少。
如果没有其他方法来识别屏幕上的用户界面元素(比如选取器或键盘快捷方式),图像识别是自动化应用程序的最终方法。由于图像匹配要求元素在屏幕上完全可见,并且要求所有可见的细节在运行时与开发期间相同,因此利用图像自动化来解决问题时,应该格外小心,以确保过程的可靠性。如果选择的图像数量超过或少于所需要的数量,可能会导致找不到图像或出现误报。
图像匹配对于环境变化很敏感,如桌面主题或屏幕分辨率。当应用程序在 Citrix 中运行时,分辨率应大于或等于录制工作流时的分辨率。否则,可以通过稍微降低捕获的图像精确系数来补偿小图像失真。检查应用程序布局如何调整自身以适应不同的分辨率,以确保视觉元素的接近性,特别是在基于坐标的技巧(如“相对单击”和“相对抓取”)的情况下。
如果自动化支持不同的分辨率,则并行录制可以放置在“选取分支”活动中,并且机器人使用任一匹配。
在画中画 (PiP) 模式的子会话中使用 Chrome/Edge/Firefox 浏览器执行网页自动化时,如果您想在主会话中继续使用浏览器,请注意,Chrome 和 Edge 无法在不同的会话中同时启动,并同时使用相同的用户数据目录。
%LOCALAPPDATA%\Google\Chrome\User Data
。您的浏览器配置文件数据保存在此处,并且您创建的每个新浏览器配置文件都有自己的空间:导航历史记录、书签和 Cookie。
chrome.exe --user-data-dir=c:\foo
。您的所有配置文件数据都将保存在该自定义文件夹下。
为绕过此限制,新式“使用应用程序浏览器”和传统“打开浏览器”活动提供了开箱即用的解决方案:“用户数据文件夹模式”和“用户数据文件夹路径”属性指示活动使用其默认文件夹(由活动自动生成的文件夹)或自定义文件夹(由后一个属性指定)启动浏览器。
让我们仔细看看这些属性是如何工作的。
案例 1
无需了解有关用户数据文件夹的所有详细信息,只需让自动化以 PiP 启动浏览器并完成其工作,从而让您可以在主会话中完成自己的工作。然后,只需将“用户数据文件夹模式”留空。其默认值将从“项目设置/应用程序浏览器”部分继承为“自动”:机器人将自动为您创建临时数据文件夹/配置文件,以便以 PiP 模式运行自动化。
案例 2
建议您使用默认的用户数据文件夹以 PiP 模式执行自动化,因为该文件夹包含您的默认配置文件以及所有业务应用程序登录历史记录和 Cookie。将“用户数据文件夹模式”设置为“默认文件夹”。请记住,在 PiP 自动化完成和/或 PiP 浏览器停止之前,您无法在工作会话中启动浏览器。
案例 3
您知道自己在做什么,并且了解浏览器限制和 UiPath 提供的功能。将“用户数据文件夹模式”设置为“自定义文件夹”,并将“用户数据文件夹路径”设置为您选择的路径。
对于上述所有情况,我们建议按组策略安装扩展程序。这样,扩展程序可用于任何浏览器配置文件并已激活,无论它们是在默认或自定义用户数据文件夹中创建的。