如果你只會使用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篩選。
除此外,我們還可以善於*和?通配符