为什么UiPath Studio检测到的ctrlid
格式与XSLT表示中记录的格式不同?
目前,我正在与UiPath合作,以自动化一些工作流程。
环境细节:
在尝试识别SAPTreeList
/ SAP's Advanced Treelist
中的元素时,似乎UiPath以下列格式检测到ctrlid
:
<wnd ctrlid='74372104' />
<wnd ctrlid='59648' idx='1' />
<wnd ctrlid='59648' />
<wnd ctrlid='74937216' />
<wnd ctrlid='100' title='SAP's Advanced Treelist' />
快照:
CtrlId中msdn.microsoft.com的文档提到:
<xsd:element name="CtrlId" type="xsd:string"/>
因此,UiPath Studio检测到的ctrlid格式似乎与文档格式和规范不同。
我在这里错过了什么吗?
根据this question中的Execution.log:
Error {"message":"Click Text 'SAPTreeList': Cannot find the UI element corresponding to this selector: <wnd ctrlid='90279688' /><wnd ctrlid='100' title='SAP'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"}
错误详细信息还包含以下字段:
level
logType
timeStamp
fingerprint
windowsIdentity
machineName
processName
processVersion
jobId
robotName
machineId
fileName
所以我的问题是:
ctrlid
是否依赖于这些参数中的任何一个?ctrlid
是每个系统独有的元素吗?ctrlid
是否在同一个jobId
内动态?我将尝试就如何理解问题提供一些答案:
ctrlid
是否依赖于这些参数中的任何一个?
UiPath创建了一个提供一些依赖项的选择器,这些依赖项并不总是最优的,因为其中一些可能会在每次运行应用程序或其他元素加载时动态更改。所以是的,元素在创建时依赖于这些特定参数(由UiPath指示)但在执行期间这些参数可能会发生变化,导致选择器“挂起”ctrlid
是每个系统独有的元素吗?
根据您与ctrlid
的链接,一些CtrlId元素是每个系统所独有的对于表单中的每个按钮控件和图片按钮控件,此属性的值应该是唯一的。
ctrlid
是否在同一个jobId
内动态?在其他情况下,ctrlid
的价值可能是动态的。在这种情况下,根据您的示例图像(突出显示的值):
希望您会发现这些信息有用。