此问题参考以下问题:
我正在跟踪视频SAP Automation with UiPath,以便以具有有效凭据的用户身份通过SAP客户端自动登录。
环境详细信息:
SAP客户端:IDES ECC 6.0 incl。 EhP7
主机:具有64位的Intel Core i3 CPU-Windows 8系统。
在视频之后,我有一个Attach Window
活动,其中包含以下两个活动:
Click Text
的ClickType CLICK_SINGLE
Click Text
的ClickType CLICK_DOUBLE
由选择器编辑器或 UI资源管理器标识的元素如下:
<wnd ctrlid='76836616' />
<wnd ctrlid='100' title='SAP's Advanced Treelist' />
和
<wnd ctrlid='76836616' />
<wnd ctrlid='5002' title='myContainer' />
<wnd ctrlid='1008' />
<ctrl name='SAP_IDES' role='list item' />
您可以看到 ctrlid
对于两个元素都是相同的,但是它们是动态的。但是,前两次处决是完美的。
在经过相当长的时间后尝试执行工作流时,该问题开始。我遇到的错误是:
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"}
因此,从错误消息中可以明显看出selector
不是有效的选择器。
使用选择器编辑器和 UI资源管理器,我发现 ctrlid
与 '76836616'
的变化改为 '79865432'
。因此,我尝试使用部分选择器。观察到 UiPath 是随机的:
标识省略<wnd ctrlid='76836616' />
的元素,但在执行时显示错误为:
Error {"message":"Click Text 'SAPTreeList': Cannot find the UI element corresponding to this selector: <wnd omit:ctrlid='76836616' /><wnd ctrlid='100' title='SAP's Advanced Treelist' />","level":"Error","logType":"Default","timeStamp":"2019-02-27T11:59:39.2811258+05:30","fingerprint":"752fe27b-16f4-4e7b-95c0-f1e8a6b49e7b","windowsIdentity":"AtechM-03\\AtechM_03","machineName":"ATECHM-03","processName":"LearningUiPath","processVersion":"1.0.0.0","jobId":"b6ba7310-749c-4c28-a9d3-d1db0c6c7dec","robotName":"ATECHM_03","machineId":0,"fileName":"SAP_UserList_BOT"}
使用部分选择器中的通配符将元素标识为<wnd ctrlid='7*' />
。这适用于4-5轮执行。但是随后 '76836616'
也会更改为 '88068312'
,执行失败。
所以我的问题是我如何适应动态变化的{em> ctrlid
,它是UiPath的强制选择器?
答案 0 :(得分:4)
UI路径具有anchor base activity,在没有可靠的选择器时可以使用。它是锚和动作活动的容器,它通过使用其他UI元素作为锚来尝试定位UI元素。您可以同时使用查找元素和查找图片活动作为锚点。
例如,您可以使用标签作为输入的锚点,因为标签更改的可能性较小。
请记住,背景中的锚定基础活动不起作用。
您可以通过尝试完成此页面中的挑战来测试锚基础活动的效率/可靠性。 http://www.rpachallenge.com/与您的情况一样,rpachallenge页面上输入的名称和id属性也会在每次提交时更改。