UIBOT相對路徑定位,使目標元素更穩定(個人研究官網無教程)。
對於好多小白來說,定位的方式就是點擊【查找目標】,然后背后隱藏的知識和后期維護的痛無人知曉,做為一個自動化老兵第一件事就是搞明白軟件的工作原理,命令的定位方式,參數的作用。
一、瀏覽器目標“單元素”定位
1)通過id定位:
"html":[{"tag":"INPUT","id":"kw"}]
tag是目標的tag標簽名稱,id是目標的ID id=‘kw'
2)通過aaname
{"html":{"tagName":"A","attrMap":{"tag":"A","parentid":"3001","aaname":"全新的rpa Gartner 報告 對比所有主流rpa產品"},"index":0},"wnd":[{"app":"chrome","cls":"Chrome_WidgetWin_1","title":"*"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}]}
如果用arrtMap定位,tag改為tagName。parentid父id,aaname是innerText也就是標簽的內容。
2)通過css selector定位:
自動生成的為絕對路徑,做UI自動化的都明白不解釋,不懂的看我其他的文章。
自動生成的 {"html":{"tagName":"a","attrMap":{"css-selector":"body>div>div>div>div>div>div>h3>a"},"index":1},"wnd":[{"app":"chrome","cls":"Chrome_WidgetWin_1","title":"*"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}]}
手動編寫的
{"html":{"tagName":"a","attrMap":{"css-selector":"div.JjRYyv > h3 > a"},"index":1},"wnd":[{"app":"chrome","cls":"Chrome_WidgetWin_1","title":"*"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}]}
不同的就是attrmap (attribute Map),也就是屬性地圖,通過地圖找目標,而且只能是唯一的一條路線,如果是多條路線必須用index選擇第幾條路線。