如果你只会使用UiPath Studio自带的indicate element,而看不懂也不会修改indicate element生成的选择器代码。
那你肯定无法完成一个高可用的网页元素选择功能。
一旦该网页发生一点细微的变化,都极大可能导致选择器失效。
那么创建一个高可用的网页元素选择器,有哪些原则?
1,优先选择权重高的标签
根据属性的变化可能性、与业务关联度等维度评价,对属性进行权重排序。
以权重进行排序,优先选择权重高的。
通常情况下:
id = name > class >=tag>aaname/innertext>css-selector>=idx
2,减少不必要的辅助筛选属性
除了id或者aaname可以作为精准定位的属性外,大多数属性无法承担单独精准定位的任务,通常需要多个辅助属性共同完成。
例如,如果有id这个精准的属性定位,就要减少诸如css-selector这种属性,与id共同进行筛选。
因为css-selector变化性更高。
3,理解网页的场景,找出元素核心属性
关联于业务又脱离具体数值的最佳。
当一些元素没有id、name等高权重,又足够精准的属性时。
我们需要对元素场景,又足够充分的理解。
以此来判断,到底是采用哪些属性进行筛选,class,css-selector,aaname。
部分网页中,一些权重高的属性是变化的,比如一些网页元素的ID,每次访问都不一样。
我们需要避免使用这些属性。
4,不局限于元素本身,观察周边元素
当一些元素没有id、name等高权重,又足够精准的属性时。
不妨看看父元素和子元素,是否具有高权重的属性。
例如依托于parentid,parentclass,parentname从父类元素来寻找目标元素。
依托于css-selector的层级筛选,找到子元素,进行高权重的id、name、class筛选。
除此外,我们还可以善于*和?通配符