UiPath基础篇 - Selector进阶2

我们之前分享了UiPath Selector的基本概念、设置和通配符的应用等。不知道同学们学得怎么样了呢?
今天将继续我们关于UiPath Selector的学习。
Selctor之于UiPath是用来帮助定位我们每一步acitivity需要交互的元素的,所以设置Selector的目的就是为了达到每次都能成功识别我们指定的element。
但是在某些情况下,只是在Selector编辑框进行修改可能达不到完美定位element的要求(或者说可能设置的Selector不够稳定),这种时候就要UI Explorer出场了。
UI Explorer是UiPath Studio内置的一个帮助指定特定UI element的高级工具。
我们可以在Selector编辑框调用它,位置在编辑框的左下角“Open in UI Explorer”。在打开的时候要确保我们的桌面存在当前activity对应的element,有时候还会需要我们重新再指定一下该element,注意要选择和之前相同的element。
那到底在什么情况我们需要调用UI Explorer呢?
这里给大家举一个简单的例子。
以上图在日历中选择日期这个操作为例,我们实际需要选择的日期是7号。可以看到UiPath自动生成的Selector中,页面标题(html title)引用了当时的日期,还有一些属性带有随机的 ID。这样的Selector显然是不稳定的。

对于如何设置一个稳定的Selector我总结了如下建议:
用使属性看起来稳定和有意义的属性替换易失性值(比如element的名称不常变化,且在同一页面没有其它相同名称的话我们一般会在Selector中加入名称属性)
用通配符替换属性值的可变部分
剔除属性值全是通配符的属性
如果编辑属性没有帮助,请尝试添加更多的中间容器(当前UI的上一层)
避免使用 idx 属性,除非它的值是非常小的数字,如1或2。

按照以上原则,我们把html title内日期引用部分改用通配符替代,TABLE和TD的随机ID部分也改为使用TABLE的表头和我们需要选择的日期“7”。这样就可以设计出一个比自动生成的更稳定的Selector了。
Selector内可不可以引用变量?
这个问题曾经在小白学习UiPath的初期困扰了小白很久。其实答案是可以的,并且操作也非常简单。
还是拿上面在日历中选择日期的操作举例。我们现在打算用变量n(字符串型)去替换我们原本想要选择的日期“7”,已达到根据某种逻辑来选择日期的目的。
做法就是在如上已经设置好的Selector属性框上,不点击省略号按钮而是光标在字段内直接编辑。
由于Selector字段是字符串型的,我们在编辑的过程中需要注意在变量前后补充""。比如在这里就是把原本的name='7'换成name='"+n+"'(注意' '中间的部分是"+n+")。
这时候我们再点击省略号按钮弹出的就不是之前的Selector Edit编辑框了,而是一个字段编辑框。不知道大家都学会了没?
同学们有任何问题或建议都可以通过以下二维码或搜索微信公众号小白修炼营之RPA UiPath找到我们。当然你也可以直接加入我们小白修炼营的QQ群,和小伙伴们随时随地一起聊RPA。

