activities
latest
false
UiPath logo, featuring letters U and I in white
用户界面自动化活动
Last updated 2024年10月28日

高级描述符配置

有关使用“选择屏幕”的更高级功能的更多信息,请观看下面的视频。

复制

指定目标可能会产生重复项,这些重复项是被认为与目标用户界面元素非常相似的其他用户界面元素,可能会导致自动化在 Runtime失败。 找到重复项时,它们会以黄色突出显示,并在其上方有一个标签,其中包含一个字母,该字母与找到每个重复项的定位方法相对应:



避免重复的最佳方法之一是指定锚点。

锚点

要创建可靠的描述符,建议在指示目标后指示锚点。

锚点是附近的另一个元素,可帮助以唯一方式识别目标。当您指定一个目标时,UiPath 会尝试识别并自动选择一个锚点。您也可以手动添加最多三个锚点。

如果仅启用精确选取器作为定位方法,则不使用锚点。

何时使用锚点

当目标元素并非唯一时,锚点很有用。例如,桌面应用程序中的表单通常包含多个相似的文本框,可在其中输入各种数据。通过查看数据旁边的标签,您可以确定需要输入哪些数据。同样,将文本框的标签添加为其锚点时,Robot 会使用锚点来标识要键入内容的文本框。

有时需要多个锚点才能将目标与其他类似元素(称为重复项)区分开。例如,如果表单包含“账单地址”部分和“收货地址”部分,则其中的文本框会出现两次,并带有相同的标签,因此您需要添加标签(例如“邮政编码”)和该部分的标题(例如“账单地址”)作为锚点,以识别正确的地址。

锚点存在于多种场景中,如下所述:

未自动找到锚点

指定目标后,系统会尝试为其自动识别锚点。

重要提示: 如果无法 100% 确定找到锚点,或者发现重复项,则不会将其视为自动锚点。
如果成功找到自动锚点,则该自动锚点将以蓝色突出显示,并且“选择选项”助手会确认目标及其锚点均正常。


锚点识别方法

在本节中,您可以找到有关执行此搜索的方法的更多技术详细信息。

指定目标后,即可识别指定用户界面元素的类型。 系统将搜索以下元素和方向:

  • 按钮 - 元素内部。
  • 复选框 - 位于元素右侧。
  • 下拉列表 - 位于元素左侧和上方。
  • 输入框 - 位于元素的左侧和上方。 对于浏览器自动化,系统还会在输入框中搜索标签,以查找 AreaLabeledBy 属性。 如果未标识此标签,则搜索具有 tag=labelfor='id of the input box' 的元素。
  • 单选按钮 - 位于元素右侧。
  • “图像” - 位于元素右侧和下方。

根据识别的元素类型,系统将自动搜索元素的相应锚点。

自动识别的锚点采用文本元素的形式,始终显示在目标元素附近,因此可用于在 Runtime 更精确地识别元素。

如果上述说明均未提供结果,则使用通用案例,即在元素层次结构中搜索合适的锚点。

手动添加锚点

如果系统未自动找到锚点并将其添加到指定目标,“选择选项”帮助程序会通知您,如以下屏幕截图所示:


在这种情况下,您可以手动为目标元素选择锚点。 将鼠标悬停在另一个元素上时,该元素会以蓝色高亮显示,并用线条连接到所选目标。 要选择所需的锚点,只需单击要用作锚点的文本。



悬停菜单

您还可以通过访问将鼠标悬停在目标元素上时显示的菜单来编辑特定元素(无论是目标元素还是锚点)。 此菜单有多个选项:



按钮将关闭指定流程并保存所做的更改。

按钮可用于定位元素,而不论其特定文本内容如何。 当您在不确切知道将要填充列表的内容时尝试选择搜索列表中的第一个元素时,或者与由于各种原因更改其标签的动态元素进行交互时,这可能会有所帮助。 在指定目标时使用此功能,仅使用模糊选取器方法进行识别,并去除模糊选取器,以确保无论标签如何更改,元素仍具有针对性。

通过单击按钮,则可以选择充当附加锚点的相邻用户界面元素。 您最多可以为任何目标指定三个锚点。

按钮展开“选择选项”中的目标部分,从而配置用于当前描述符的目标方法。

按钮将删除已指定的目标,并让您选择另一个目标。

配置描述符

选项

展开“选项” 部分可以显示以下选项:

  • “自动应用更改 ” - 选中后,系统会将更改自动应用于目标元素和锚点元素。
  • 响应式网站 - 选中后,锚点可以自动从目标的左侧移动到顶部,或从目标的顶部移动到左侧,从而使响应式网站自动化。
  • 元素可见性 ” - 检查用户界面元素是否可见。 下拉菜单中提供三个选项:
    • ”- 不检查可见性。
    • 交互式(用于模糊选取器) - 默认选项。 检查元素是否可能可见,忽略页面滚动和其他应用程序的阻碍或应用程序已最小化。 当尝试确保您没有以 DOM 中存在但隐藏的不可见元素为目标时,此检查非常有用。
    • 完全可见 - 确保用户界面元素在屏幕上可见。

窗口选取器

展开“ 窗口选取器 ” 部分,即可查看和编辑指定目标应用程序的选取器。 您还可以使用“在 UI Explorer 中 打开”按钮在 UI Explorer 中编辑窗口 选取器



目标

目标是您要与之交互的用户界面元素,例如一个要点击的按钮、一个要键入内容的文本框或要从中复制文本的网页的一部分。

查找用户界面元素的后台流程会使用以下几种定位方法:

这些定位方法彼此重复,并且根据使用的定位方法制定了排名。该层次结构考虑了每种定位方法的定位能力和对用户界面更改的弹性。因此,查找用户界面元素的顺序如下:
  1. 主要定位方式由选取器表示:“精确选取器” 或“模糊选取器”。
  2. 次要定位方法是“Computer Vision”。
  3. 第三定位方法是“图像”(默认禁用)。

在设计时,该图标 会显示在主要的定位方法旁边,以在运行时模拟场景。

跨技术定位方法的默认项目设置

下表显示了跨不同技术的定位方法的默认项目设置。

目标方法桌面应用程序网页浏览器JavaSAP
精确选取器available不可用availableavailable
模糊选取器availableavailableavailable不可用
Computer Visionavailableavailableavailable不可用
图像不可用不可用不可用不可用

项目设置:等待主要定位方法,直到超时

等待主要定位方法直到超时”项目设置( “项目设置” > “新式用户界面自动化” ),该设置在活动包版本 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&#xD;&#xA;' />
	[74%] <ctrl name='Use Amount' role='radio button' automationid='' check:fulltext='Use Amount&#xD;&#xA;' />
	[68%] <ctrl name='Use Piece Count' role='radio button' automationid='' check:fulltext='Use Piece Count&#xD;&#xA;' />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&#xD;&#xA;' />
	[74%] <ctrl name='Use Amount' role='radio button' automationid='' check:fulltext='Use Amount&#xD;&#xA;' />
	[68%] <ctrl name='Use Piece Count' role='radio button' automationid='' check:fulltext='Use Piece Count&#xD;&#xA;' />

如果通过添加或删除选取器节点来更改默认选取器,或者目标或锚点搜索由于存在多个匹配项而失败,则不会显示最接近的匹配项。

您可以参阅 Studio 指南,详细了解选取器的相关信息。

Computer Vision

Computer Vision 是一个 AI 驱动的引擎,它使 UiPath 机器人能够查看和理解计算机屏幕上的每个用户界面元素。Computer Vision 增强了定位能力:当驱动程序无法“看到”某些用户界面元素时,Computer Vision 可以启用用户界面自动化。因此,它提高了基于用户界面的自动化的可靠性和弹性,是适用于其他定位方法的强大回退。

计算机视觉用途广泛:无论是在适用于 Windows 和跨平台项目的 Studio 桌面版,还是 Studio Web 上。

要将计算机视觉用作定位方法,您需要转到“项目设置”>“Computer Vision”,并确保设置正确的服务器端点。您可以原样保留此字段,并使用 UiPath Cloud(默认情况下已填写),也可以通过选择特定于服务器区域的任何其他公共端点或您自己的本地部署服务器来输入其他值。

将 Computer Vision 用作定位方法的另一种方法是将“使用本地服务器”设置为 True。这意味着 UiPath.ComputerVision.LocalServer 包已安装在项目中。启用“本地服务器”后,服务器值将被覆盖。但是,“本地服务器”在跨平台项目中不可用。

图像

此定位方法使用应用程序窗口中的图像来识别元素,例如图标或按钮。

如果目标使用了图像自动化,则还可以查看元素的屏幕截图,并调整图像准确性。 默认值为 0.8,可以通过“ 准确性 ” 滑块进行配置,也可以通过输入有效值直接从输入字段中进行配置。 精度可以在 0.4 到 1 的范围内设置。 有关更多信息,请查看“ 图像和文本自动化 ”部分。

如果要定义“仅图像”目标,可以使用“图像区域选择”(F3) 或在指定时为要用作目标/锚点的区域绘制方框选择。



您也可以使用刷新按钮手动刷新已选择的图像,以防元素图像在指定后发生变化。

“项目设置”中的“图像定位”方法默认处于禁用状态。

要在项目级别启用它,请转到“项目设置”>“新式用户界面自动化”>“目标方法 - 桌面应用程序”/“目标方法 - 网页浏览器”/“目标方法 - Java”/“目标方法 - SAP”(具体取决于要自动化的应用程序类型)>“图像”> 选择“True”

要对指定元素启用该方法,该元素必须有效。

原生文本

如果在指定元素时选中了“ 启用原生文本 ”复选框,则使用“原生文本”定位方法。 此方法使您能够使用使用原生方法识别的所有文本标签来识别要与之交互的元素。

可以从其专用部分编辑通过此方法识别的文本标签,并且可以使用“ 切换区分大小写 ”按钮指定是否希望文本区分大小写。



离线编辑

当应用程序不再打开但您想要编辑其描述符时,从活动主体的上下文菜单中选择“ 编辑目标 (E) ”,系统会提示您“ 重试” 、“ 离线编辑” 或“ 取消”。

选择“ 离线编辑 ” 选项将以离线编辑模式打开选择屏幕。 在离线编辑模式下,您无法添加锚点、验证描述符或其他需要实时应用程序的功能。

如果选中“不再显示”复选框,则下次要编辑目标时,系统会直接打开选择屏幕。

验证描述符

验证流程使您能够通过使用所有选定的方法和锚点检查当前选择在识别目标方面的效果。您可以使用“选择屏幕”中的“验证”按钮来验证您的选择。验证结果将显示在“选择选项”窗口的顶部。如果需要调整,系统会显示一条消息,其中包含有关如何改进选择的信息。

如果您有目标和锚点对,则它们每个都将使用所有可用的定位方法。 为了找到最终目标,系统会将每个元素的所有可能组合与屏幕上的元素进行匹配,并在匹配后给出一个分数。

执行验证后,如果系统发现任何重复项,则会在目标应用程序中高亮显示这些项。如果未找到重复项,则图标会出现在定位方法旁边,通知您给定情况下每种定位方法的状态。

每种方法的性能显示在“选择选项”窗口的“配置”部分,使用以下图标之一:

- 成功识别元素的最快定位方法。

- 此方法已成功识别元素,但不是最快的方法。

- 此方法发现重复项,并且与其他定位方法一起来识别正确的元素。

- 此方法发现重复项,但使用此方法无法识别正确的元素。

- 此方法未能识别任何元素。

此页面有帮助吗?

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