首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过UiPath构造一个基于动态ctrlid的选择器?

如何通过UiPath构造一个基于动态ctrlid的选择器?
EN

Stack Overflow用户
提问于 2019-02-27 06:55:55
回答 1查看 1.9K关注 0票数 0

这一问题涉及以下问题:

我正在跟踪视频用UiPath实现SAP自动化,以便以具有有效凭据的用户身份通过SAP自动登录。

环境详情:

  • SAP客户端: IDES ECC 6.0包括。EhP7
  • 主机:英特尔核心i3处理器,64位- Windows 8系统.

在视频之后,我有一个Attach Window活动,它包含以下两个活动:

  • Click Text of ClickType as CLICK_SINGLE
  • Click Text of ClickType as CLICK_DOUBLE

Selector Editor或UI Explorer标识的元素如下:

代码语言:javascript
复制
<wnd ctrlid='76836616' />
<wnd ctrlid='100' title='SAP&apos;s Advanced Treelist' />

代码语言:javascript
复制
<wnd ctrlid='76836616' />
<wnd ctrlid='5002' title='myContainer' />
<wnd ctrlid='1008' />
<ctrl name='SAP_IDES' role='list item' />

正如您所观察到的,对于这两个元素,ctrlid是相同的,但也有一些是动态的。然而,第一批处决是完美的。

在经过相当长的时间之后,当尝试执行工作流时,问题就会开始。我面临一个错误,因为:

代码语言:javascript
复制
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"}

因此,从错误消息中可以清楚地看出,selector不是一个有效的选择器。

使用Selector和UI资源管理器,我发现了ctrlid'76836616''79865432'.的变化所以我试着用部分选择器。观察到UiPath随机:

  • 标识省略<wnd ctrlid='76836616' />但在执行时显示错误的元素如下: 错误{“消息”:“单击文本'SAPTreeList':无法找到与此选择器相对应的UI元素:”、“级别”:“logType”:“默认”、“windowsIdentity”:“ATECHM M-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'

因此,我的问题是如何容纳动态ctrlid,它不时地变化,并且是UiPath的强制选择器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-27 07:58:10

UI路径有一个锚基活动,当没有可靠的选择器时,可以使用它。它是一个锚的容器和一个动作活动,它试图使用其他UI元素作为锚来定位您的UI元素。您可以使用查找元素查找图像活动作为锚。

例如,您可以使用输入的标签作为输入的锚,因为标签更改的可能性较小。

请记住,锚基活动在背景中不工作

您可以通过尝试完成此页面中的挑战来测试锚基活动的效率/可靠性。http://www.rpachallenge.com/,就像在您的案例中,rpachallenge页面上输入的名称和id属性在每次提交时都会发生变化。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54899709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档