首页 > 解决方案 > 为什么 UiPath 检测到的 ctrlid 格式与其 XSLT 表示形式中记录的格式不同?

问题描述

为什么UiPath Studioctrlid检测到的格式与其XSLT表示形式中记录的格式不同?

目前我正在使用 UiPath 来自动化一些工作流程。

环境细节:

在尝试识别SAPTreeList/中的元素时, SAP's Advanced TreelistUiPath 似乎检测到ctrlid以下格式:

快照:

SAP_Logon_750

msdn.microsoft.com中CtrlId的文档提到:

因此UiPath Studio检测到的ctrlid格式似乎与文档中的格式和规范有所不同。

我在这里错过了什么吗?

根据此问题中的 Execution.log :

Error {"message":"Click Text 'SAPTreeList': Cannot find the UI element corresponding to this selector: <wnd ctrlid='90279688' /><wnd ctrlid='100' title='SAP&apos;s Advanced Treelist' />","level":"Error","logType":"Default","timeStamp":"2019-02-06T13:16:44.295729+05:30","fingerprint":"bec67d2a-14d1-4b93-ac06-03156aea69fe","windowsIdentity":"AtechM-03\\AtechM_03","machineName":"ATECHM-03","processName":"LearningUiPath","processVersion":"1.0.0.0","jobId":"e7f88d9e-e485-4eee-8a54-7450771238f3","robotName":"ATECHM_03","machineId":0,"fileName":"Main"}

错误详细信息还包含以下字段:

所以我的问题是:

标签: windowsxsltmsdnuipathsap-erp

解决方案


我将尝试提供一些关于我如何理解这些问题的答案:

  • 元素的是否ctrlid对这些参数有任何依赖?

    UiPath 创建一个选择器,提供一些依赖项,这些依赖项并不总是最佳的,因为每次应用程序运行或加载另一个元素时,其中一些可能会动态变化。所以是的,元素在创建时(当由 UiPath 指示时)依赖于这些特定参数,但在执行期间这些可能会发生变化,导致选择器“挂起”

  • ctrlid每个系统独有的元素吗?

    根据您到CtrlId的链接,某些ctrlid元素对于每个系统都是唯一的

对于表单中的每个按钮控件和图片按钮控件,该属性的值应该是唯一的。

  • ctrlid动态是一样的吗jobId

在其他情况下, 的值ctrlid可能是动态的。在这种情况下,根据您的示例图像(突出显示的值):

在此处输入图像描述

  1. UiPath 最佳实践建议在构建稳定的选择器时避免使用它们
  2. 但是如果你想使用它们,那么你需要使用通配符使这些动态(尝试'*')或每次检索动态值并在选择器设置中使用它(尝试'+dynamicValue+')
  3. 最后,您总是需要测试您的选择器,通过反复试验,您将增强您的解决方案。

希望您会发现这些信息很有用。


推荐阅读