- 概述
- 用户界面自动化
- 通过用户界面自动化实现自动化的应用程序和技术
- 项目兼容性
- UI-ANA-016 - 拉取打开浏览器 URL
- UI-ANA-017 - 出错时继续 True
- UI-ANA-018 - 列出 OCR/图像活动
- UI-DBP-006 - 容器使用情况
- UI-DBP-013 - Excel 自动化误用
- UI-DBP-030 - 选取器中的禁止变量使用情况
- UI-PRR-001 - 模拟单击
- UI-PRR-002 - 模拟键入
- UI-PRR-003 - 打开应用程序误用
- UI-PRR-004 - 硬编码延迟
- UI-REL-001 - 选取器中的大 IDX
- UI-SEC-004 - 选取器电子邮件数据
- UI-SEC-010 - 应用程序/Url 限制
- UI-USG-011 - 不允许的属性
- UX-SEC-010 - 应用程序/Url 限制
- UX-DBP-029 - 使用不安全的密码
- UI-PST-001 - 项目设置中的审核日志级别
- UiPath 浏览器迁移工具
- 剪切区域
- 计算机视觉录制器
- 激活
- 锚点基准
- 附加浏览器
- 附加窗口
- 阻止用户输入
- 标注
- 选中
- 单击
- 单击图像
- 单击图像触发器
- 单击 OCR 文本
- 单击文本
- 单击触发器
- 关闭应用程序
- 关闭选项卡
- 关闭窗口
- 上下文感知锚点
- 复制选定文本
- 元素属性更改触发器
- 存在元素
- 元素作用域
- 元素状态更改触发器
- 导出用户界面树
- 提取结构化数据
- 查找子元素
- 查找元素
- 查找图像
- 查找图像匹配项
- 查找 OCR 文本位置
- 查找相对元素
- 查找文本位置
- 获取活动窗口
- 获取上级
- 获取属性
- 获取事件信息
- 从剪贴板获取
- 获取全文
- 获取 OCR 文本
- 获取密码
- 获取位置
- 获取源元素
- 获取文本
- 获取可见文本
- 返回
- 前往
- 转至主页
- Google Cloud Vision OCR
- 隐藏窗口
- 高亮显示
- 热键触发器
- 悬停
- 悬停在图像上方
- 悬停在 OCR 文本上方
- 悬停文本
- 存在图像
- 在屏幕上指定
- 注入 .NET 代码
- 插入 Js 脚本
- 调用 ActiveX 方法
- 按键触发器
- 加载图像
- 最大化窗口
- Microsoft Azure 计算机视觉 OCR
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- 最小化窗口
- 监控事件
- 鼠标触发器
- 移动窗口
- 导航至
- 存在 OCR 文本
- 在元素出现时
- 在元素消失时
- 在图像出现时
- 在图像消失时
- 打开应用程序
- 打开浏览器
- 刷新浏览器
- 重播用户事件
- 还原窗口
- 保存图像
- 选择项目
- 选择多个项目
- 发送热键
- 设置剪切区域
- 设置焦点
- 设置文本
- 设置为剪贴板
- 设置网页属性
- 显示窗口
- 启动进程
- 系统触发器
- 截取屏幕截图
- Tesseract OCR
- 存在文本
- 工具提示
- 键入
- 输入安全文本
- 使用前台
- 等待属性
- 等待元素消失
- 等待图像消失
- Computer Vision Local Server
- 移动自动化
- 终端
用户界面自动化活动
高级描述符配置
有关使用“选择屏幕”的更高级功能的更多信息,请观看下面的视频。
要创建可靠的描述符,建议在指示目标后指示锚点。
锚点是附近的另一个元素,可帮助以唯一方式识别目标。当您指定一个目标时,UiPath 会尝试识别并自动选择一个锚点。您也可以手动添加最多三个锚点。
如果仅启用精确选取器作为定位方法,则不使用锚点。
指定目标后,系统会尝试为其自动识别锚点。
在本节中,您可以找到有关执行此搜索的方法的更多技术详细信息。
指定目标后,即可识别指定用户界面元素的类型。 系统将搜索以下元素和方向:
- 按钮 - 元素内部。
- 复选框 - 位于元素右侧。
- 下拉列表 - 位于元素左侧和上方。
- 输入框 - 位于元素的左侧和上方。 对于浏览器自动化,系统还会在输入框中搜索标签,以查找
AreaLabeledBy
属性。 如果未标识此标签,则搜索具有tag=label
和for='id of the input box'
的元素。 - 单选按钮 - 位于元素右侧。
- “图像” - 位于元素右侧和下方。
根据识别的元素类型,系统将自动搜索元素的相应锚点。
自动识别的锚点采用文本元素的形式,始终显示在目标元素附近,因此可用于在 Runtime 更精确地识别元素。
如果上述说明均未提供结果,则使用通用案例,即在元素层次结构中搜索合适的锚点。
您还可以通过访问将鼠标悬停在目标元素上时显示的菜单来编辑特定元素(无论是目标元素还是锚点)。 此菜单有多个选项:
该按钮将关闭指定流程并保存所做的更改。
该按钮可用于定位元素,而不论其特定文本内容如何。 当您在不确切知道将要填充列表的内容时尝试选择搜索列表中的第一个元素时,或者与由于各种原因更改其标签的动态元素进行交互时,这可能会有所帮助。 在指定目标时使用此功能,仅使用模糊选取器方法进行识别,并去除模糊选取器,以确保无论标签如何更改,元素仍具有针对性。
通过单击按钮,则可以选择充当附加锚点的相邻用户界面元素。 您最多可以为任何目标指定三个锚点。
该按钮展开“选择选项”中的目标部分,从而配置用于当前描述符的目标方法。
该按钮将删除已指定的目标,并让您选择另一个目标。
展开“选项” 部分可以显示以下选项:
- “自动应用更改 ” - 选中后,系统会将更改自动应用于目标元素和锚点元素。
- 响应式网站 - 选中后,锚点可以自动从目标的左侧移动到顶部,或从目标的顶部移动到左侧,从而使响应式网站自动化。
- “元素可见性 ” - 检查用户界面元素是否可见。 下拉菜单中提供三个选项:
- “无 ”- 不检查可见性。
- 交互式(用于模糊选取器) - 默认选项。 它仅适用于模糊选取器定位方式。 它对“精确选取器”或其他定位方法没有影响。 检查元素是否可能可见,忽略页面滚动和其他应用程序的阻碍或者应用程序已最小化。 当尝试确保您没有以 DOM 中存在但隐藏的不可见元素为目标时,此检查非常有用。 目的是筛选出不可见或被其他元素遮挡的元素(这将使其成为非交互式元素)。
- 完全可见 - 确保用户界面元素在屏幕上可见。
展开“ 窗口选取器 ” 部分,即可查看和编辑指定目标应用程序的选取器。 您还可以使用“在 UI Explorer 中 打开”按钮在 UI Explorer 中编辑窗口 选取器。
目标是您要与之交互的用户界面元素,例如一个要点击的按钮、一个要键入内容的文本框或要从中复制文本的网页的一部分。
查找用户界面元素的后台流程会使用以下几种定位方法:
- 主要定位方式由选取器表示:“精确选取器” 或“模糊选取器”。
- 次要定位方法是“Computer Vision”。
- 第三定位方法是“图像”(默认禁用)。
在设计时,该图标 会显示在主要的定位方法旁边,以在运行时模拟场景。
跨技术定位方法的默认项目设置
下表显示了跨不同技术的定位方法的默认项目设置。
目标方法 | 桌面应用程序 | 网页浏览器 | Java | SAP |
---|---|---|---|---|
精确选取器 | ||||
模糊选取器 | ||||
Computer Vision | ||||
图像 |
项目设置:等待主要定位方法,直到超时
“等待主要定位方法直到超时”项目设置( “项目设置” > “新式用户界面自动化” ),该设置在活动包版本 23.10.3 及更高版本的新项目中默认启用,并且可以为此活动包版本之前创建的项目手动启用,为主定位方法提供一些额外的时间来消耗其完全超时,直到可以使用任何回退定位方法之前。
如果在超时过期之前,其中一种主要定位方法能够找到用户界面元素,则系统会将该方法用作与用户界面元素交互的方法。精确选取器是首选的搜索用户界面元素的定位方法,之后则是模糊选取器。同时,精确选取器的优先级高于模糊选取器。
当主要定位方法在超时过期之前找不到用户界面元素时,如果在分配的超时内进行所有重试后,“精确选取器”和“模糊选取器”都无法找到用户界面元素,则辅助和第三种定位方法才会开始搜索用户界面元素。
此项目设置还使选取器相关问题更具可预测性和可见性,以便您可以更好地控制用户界面元素定位,同时还拥有计算机视觉提供的可靠回退。
如果禁用此项目设置,则所有定位方法都会在单次超时内根据层次结构竞争查找用户界面元素:仅当排位较高的定位方法无法找到目标时,才会使用排位较低的定位方法来寻找目标。
项目设置:在“未找到元素”错误消息中显示最接近的匹配项
从活动包版本 23.10.3 开始,在新项目中默认启用“在未找到元素”错误消息中显示最接近的匹配项设置( “项目设置” >“新式用户界面自动化” ),也可以为在此之前创建的项目手动启用活动包版本。 当与“等待主要定位方法,直到超时”项目设置一起启用时,如果选取器失败,则会在日志中显示一条警告,其中显示用于查找用户界面元素的方法,以及与可匹配元素最接近的选取器匹配项的十个建议用于替换有故障的选取器。
不建议手动编辑描述符,因为整个过程对用户来说是无缝的,并且无需高级配置即可提供良好的结果。不过,如果要为描述符配置更高级的功能,您可以启用、禁用和编辑定位方式。
选取器是一个 XML 片段,其中包含用户界面元素及其父元素(包括目标应用程序)的属性。选取器用于定位屏幕上的用户界面元素,方法是检查用户界面元素及其属性,并将其与选取器中的属性进行匹配。您可以查看此页面,详细了解 UiPath 生态系统中的选取器。
可以从“ 选择选项”窗口的专用部分编辑目标元素的“ 精确选取器”。 您还可以使用“在 UI Explorer 中 打开”按钮在 UI Explorer 中编辑 选取器。
“精确选取器” 字段支持从上下文菜单(可通过右键单击访问)使用和创建变量及参数。
您还可以选择选取器的一部分,并使用上下文菜单将其直接转换为已预先填充所选内容的变量。
您还可以从“ 变量名称 ” 下拉菜单中选择已创建的变量,并在选取器中使用该变量。
使用“ 覆盖默认值 ” 复选框,您可以将预定义变量中的值替换为当前选择。
“ 确认 ”按钮将保存您在选取器中所做的更改。
以下热键可用:
Ctrl
+Space
:选择变量Ctrl
+Shift
+Space
:选择参数Ctrl
+K
:创建变量Ctrl
+M
:创建参数
使用变量和参数完成的更改可以传播到找到它们的所有其他实例。 例如,如果某个变量同时用于“ 精确选取器”字段和“ 模糊选取器”字段,则在其中一个字段中更改该变量会生成一条消息,通知您在另一个字段中找到了相同的值,并为您提供将所有实例替换为新值。
精确选取器还支持通配符,可用于替换字符串中的零个或多个字符。 您可以 在此处找到有关此功能的更多信息。
模糊选取器是一种选取器,它会考虑元素属性可能发生的更改,并根据模式而不是精确匹配来识别元素。 此方法在与锚点一起使用时效果最佳。
模糊选取器与精确选取器非常相似,区别在于它的属性是模糊匹配而不是完全匹配。 这意味着模糊选取器可以输出多个元素,而精确选取器一次输出一个元素。
可以从“选择选项”窗口中的专用部分编辑模糊选取器。
模糊选取器的匹配精度基于 Levenshtein 距离算法,用于计算选取器的相似度。默认值为 0.5,可以从“准确度”滑块进行配置,也可以通过输入有效值直接从输入字段进行配置。匹配准确度可在 0.4 到 1 的范围内进行设置,其中值越低表示模糊程度越高,这意味着模糊选取器输出更多的元素,而较高的值表示模糊程度较低,这意味着模糊选取器输出更少的元素。
就像精确选取器一样,模糊选取器字段也支持使用和创建变量和参数,并且还支持通配符。 有关更多详细信息,请参阅上面提供的信息。
如果指定元素包含文本,则该文本将显示在模糊选取器编辑窗口下方的输入框中。 如果在此输入框中显示文本,则在运行时必须在元素本身中找到该文本才能将其视为匹配项。
输入框旁边的下拉菜单包含以下选项:
- “文本为”/“内部文本为”/“全文为”(取决于所使用的文本抓取方法) - 显示抓取的文本;系统会自动识别最佳抓取方法,建议使用该方法。
- “忽略文本”- 忽略在输入框中指定的文本。
当使用模糊选取器的目标或锚点搜索失败时,系统会抛出一个自定义异常,并显示最接近的匹配项,以修复失败的选取器。
The UI element could not be located using the configured Fuzzy selector for Target or Anchor.
'Target' search failed for selector:
<ctrl name='Use*' role='radio button' /><ctrl name='Use mimi' role='XYZ text' automationid='' />
These are the closest selector matches found:
[84%] <ctrl name='Use Amount' role='radio button' /><ctrl role='text' automationid='' />
[83%] <ctrl name='Use Both' role='radio button' /><ctrl role='text' automationid='' />
[82%] <ctrl name='Use Piece Count' role='radio button' /><ctrl role='text' automationid='' />
'Anchor 1' search failed for selector:
<ctrl name='Configuration' role='text' /><ctrl name='Configuration' role='text' automationid='' check:text='XYZ Config' />
These are the closest selector matches found:
[78%] <ctrl name='Configuration' role='text' /><ctrl name='Configuration' role='text' automationid='' check:text='Configuration' />
[64%] <ctrl name='Transaction #:' role='text' /><ctrl name='Transaction #:' role='text' automationid='' check:text='Transaction #:' />
[63%] <ctrl name='Deposit transaction' role='text' /><ctrl name='Deposit transaction' role='text' automationid='' check:text='Deposit transaction' />
'Anchor 2' search failed for selector:
<ctrl name='Use Both' role='radio button' automationid='' check:fulltext='Use XYZZZZZZ' />
These are the closest selector matches found:
[83%] <ctrl name='Use Both' role='radio button' automationid='' check:fulltext='Use Both
' />
[74%] <ctrl name='Use Amount' role='radio button' automationid='' check:fulltext='Use Amount
' />
[68%] <ctrl name='Use Piece Count' role='radio button' automationid='' check:fulltext='Use Piece Count
' />
The UI element could not be located using the configured Fuzzy selector for Target or Anchor.
'Target' search failed for selector:
<ctrl name='Use*' role='radio button' /><ctrl name='Use mimi' role='XYZ text' automationid='' />
These are the closest selector matches found:
[84%] <ctrl name='Use Amount' role='radio button' /><ctrl role='text' automationid='' />
[83%] <ctrl name='Use Both' role='radio button' /><ctrl role='text' automationid='' />
[82%] <ctrl name='Use Piece Count' role='radio button' /><ctrl role='text' automationid='' />
'Anchor 1' search failed for selector:
<ctrl name='Configuration' role='text' /><ctrl name='Configuration' role='text' automationid='' check:text='XYZ Config' />
These are the closest selector matches found:
[78%] <ctrl name='Configuration' role='text' /><ctrl name='Configuration' role='text' automationid='' check:text='Configuration' />
[64%] <ctrl name='Transaction #:' role='text' /><ctrl name='Transaction #:' role='text' automationid='' check:text='Transaction #:' />
[63%] <ctrl name='Deposit transaction' role='text' /><ctrl name='Deposit transaction' role='text' automationid='' check:text='Deposit transaction' />
'Anchor 2' search failed for selector:
<ctrl name='Use Both' role='radio button' automationid='' check:fulltext='Use XYZZZZZZ' />
These are the closest selector matches found:
[83%] <ctrl name='Use Both' role='radio button' automationid='' check:fulltext='Use Both
' />
[74%] <ctrl name='Use Amount' role='radio button' automationid='' check:fulltext='Use Amount
' />
[68%] <ctrl name='Use Piece Count' role='radio button' automationid='' check:fulltext='Use Piece Count
' />
如果通过添加或删除选取器节点来更改默认选取器,或者目标或锚点搜索由于存在多个匹配项而失败,则不会显示最接近的匹配项。
您可以参阅 Studio 指南,详细了解选取器的相关信息。
计算机视觉用途广泛:无论是在适用于 Windows 和跨平台项目的 Studio 桌面版,还是 Studio Web 上。
要将计算机视觉用作定位方法,您需要转到“项目设置”>“Computer Vision”,并确保设置正确的服务器端点。您可以原样保留此字段,并使用 UiPath Cloud(默认情况下已填写),也可以通过选择特定于服务器区域的任何其他公共端点或您自己的本地部署服务器来输入其他值。
将 Computer Vision 用作定位方法的另一种方法是将“使用本地服务器”设置为 True。这意味着 UiPath.ComputerVision.LocalServer 包已安装在项目中。启用“本地服务器”后,服务器值将被覆盖。但是,“本地服务器”在跨平台项目中不可用。
此定位方法使用应用程序窗口中的图像来识别元素,例如图标或按钮。
如果目标使用了图像自动化,则还可以查看元素的屏幕截图,并调整图像准确性。 默认值为 0.8,可以通过“ 准确性 ” 滑块进行配置,也可以通过输入有效值直接从输入字段中进行配置。 精度可以在 0.4 到 1 的范围内设置。 有关更多信息,请查看“ 图像和文本自动化 ”部分。
如果要定义“仅图像”目标,可以使用“图像区域选择”(F3) 或在指定时为要用作目标/锚点的区域绘制方框选择。
您也可以使用刷新按钮手动刷新已选择的图像,以防元素图像在指定后发生变化。
“项目设置”中的“图像定位”方法默认处于禁用状态。
要在项目级别启用它,请转到“项目设置”>“新式用户界面自动化”>“目标方法 - 桌面应用程序”/“目标方法 - 网页浏览器”/“目标方法 - Java”/“目标方法 - SAP”(具体取决于要自动化的应用程序类型)>“图像”> 选择“True”。
要对指定元素启用该方法,该元素必须有效。
如果在指定元素时选中了“ 启用原生文本 ”复选框,则使用“原生文本”定位方法。 此方法使您能够使用使用原生方法识别的所有文本标签来识别要与之交互的元素。
可以从其专用部分编辑通过此方法识别的文本标签,并且可以使用“ 切换区分大小写 ”按钮指定是否希望文本区分大小写。
验证流程使您能够通过使用所有选定的方法和锚点检查当前选择在识别目标方面的效果。您可以使用“选择屏幕”中的“验证”按钮来验证您的选择。验证结果将显示在“选择选项”窗口的顶部。如果需要调整,系统会显示一条消息,其中包含有关如何改进选择的信息。
如果您有目标和锚点对,则它们每个都将使用所有可用的定位方法。 为了找到最终目标,系统会将每个元素的所有可能组合与屏幕上的元素进行匹配,并在匹配后给出一个分数。
执行验证后,如果系统发现任何重复项,则会在目标应用程序中高亮显示这些项。如果未找到重复项,则图标会出现在定位方法旁边,通知您给定情况下每种定位方法的状态。
每种方法的性能显示在“选择选项”窗口的“配置”部分,使用以下图标之一:
- 成功识别元素的最快定位方法。
- 此方法已成功识别元素,但不是最快的方法。
- 此方法发现重复项,并且与其他定位方法一起来识别正确的元素。
- 此方法发现重复项,但使用此方法无法识别正确的元素。
- 此方法未能识别任何元素。