UiBot利用UI分析器快速分析元素,快速解決目標(biāo)元素定位
UI分析器的運(yùn)用
??????我們先回顧一下在初級(jí)的有目標(biāo)命令中學(xué)過(guò)的內(nèi)容:
??????第一、使用UiBot的時(shí)候,應(yīng)該優(yōu)先使用有目標(biāo)的命令,因?yàn)橛心繕?biāo)的命令更加準(zhǔn)確;
??????第二、使用UiBot的時(shí)候,如何準(zhǔn)確選取一個(gè)目標(biāo)是很關(guān)鍵的,只要準(zhǔn)確地選到了目標(biāo),模擬操作相對(duì)來(lái)說(shuō)就比較簡(jiǎn)單了;
??????第三、UiBot提供了全自動(dòng)的選取目標(biāo)的方法,在全自動(dòng)選取目標(biāo)完成后,還可以手動(dòng)修改目標(biāo)的特征,以便盡量減少錯(cuò)選和漏選。
??????上述工作是不是已經(jīng)足夠了呢?還不夠!只要稍微有點(diǎn)經(jīng)驗(yàn)的UiBot用戶就會(huì)知道,雖然UiBot提供了全自動(dòng)選取目標(biāo)的方法,但是最難的、最容易出錯(cuò)的恰恰是“如何正確選取一個(gè)目標(biāo)”這個(gè)步驟!
??????熟悉前端頁(yè)面的應(yīng)該知道:界面元素,尤其是Web頁(yè)面的界面元素,其實(shí)一個(gè)層層嵌套的樹形結(jié)構(gòu)。在使用UiBot的“查找目標(biāo)”功能定位所要查找的目標(biāo)元素時(shí),有可能誤定位到真實(shí)目標(biāo)的父節(jié)點(diǎn)或者子節(jié)點(diǎn),因?yàn)檎鎸?shí)目標(biāo)和它的父節(jié)點(diǎn)、子節(jié)點(diǎn)在界面上有時(shí)候看起來(lái)完全一樣。我們來(lái)看一個(gè)具體例子,這是某購(gòu)物網(wǎng)站的一個(gè)商品列表頁(yè)面截圖片段:

??????假設(shè)要獲得的是商品的詳細(xì)鏈接,熟悉前端頁(yè)面的應(yīng)該知道,鏈接地址通常為某個(gè)<a>
界面元素的href
屬性。我們可以通過(guò)查看頁(yè)面的源文件確認(rèn)。

??????插入一條“獲取元素屬性”命令,點(diǎn)擊“查找目標(biāo)”按鈕,此時(shí)出現(xiàn)了一個(gè)紅邊藍(lán)底的半透明遮罩,在頁(yè)面上移動(dòng)鼠標(biāo)使遮罩剛好蓋住所要選取的界面元素;在該命令的屬性“屬性名”處填入"href"
。再插入一條“輸出調(diào)試信息”命令,將獲得的鏈接地址打印出來(lái)。

??????一切準(zhǔn)備妥當(dāng),點(diǎn)擊運(yùn)行,查看結(jié)果,發(fā)現(xiàn)并未如我們所愿打印出鏈接地址,這是為什么呢?
??????原因正如上面所述,系統(tǒng)并未準(zhǔn)確地定位到我們期待的那個(gè)目標(biāo),那么怎樣才能準(zhǔn)確地定位目標(biāo)呢?這個(gè)時(shí)候,就要用到UiBot提供的一個(gè)神器 — UI分析器!UI分析器是一個(gè)獨(dú)立的應(yīng)用程序,啟動(dòng)按鈕位于UiBot Creator主界面的工具欄。

??????點(diǎn)擊“UI分析器”按鈕,即可啟動(dòng)UI分析器。初次啟動(dòng)時(shí),UI分析器的主界面沒有內(nèi)容。

??????點(diǎn)擊UI分析器主界面的“查找目標(biāo)”,這個(gè)按鈕與UiBot Creator中有目標(biāo)命令的“查找目標(biāo)”作用是一致的,彈出半透明遮罩,我們同樣選擇剛才選擇的目標(biāo)。UI分析器會(huì)給出所選擇目標(biāo)的信息,包括縮略圖標(biāo)、特征篩選、可視化樹等。

??????我們尤其需要關(guān)注“可視化樹”,在“可視化樹”界面中,UI分析器高亮顯示了當(dāng)前所選取目標(biāo)的標(biāo)簽名稱tagName??梢钥吹?,當(dāng)前選取的是<EM>標(biāo)簽
,而我們期待的那個(gè)目標(biāo)<a>標(biāo)簽
是<EM>標(biāo)簽
的父節(jié)點(diǎn)。在可視化樹的<a>標(biāo)簽
處點(diǎn)擊右鍵,彈出“設(shè)置為當(dāng)前目標(biāo)”菜單,點(diǎn)擊該菜單,<a>標(biāo)簽
被高亮顯示,表示<a>標(biāo)簽
被選為當(dāng)前目標(biāo)。

??????點(diǎn)擊“可視化樹”右下角的“復(fù)制到剪貼板”,即可將當(dāng)前目標(biāo)的特征復(fù)制到剪貼板。再次切換到UiBot Creator的可視化界面,點(diǎn)擊“獲取元素屬性”命令,將剛才復(fù)制的特征粘貼到“目標(biāo)”屬性中。我們可以點(diǎn)擊“目標(biāo)”右邊的“編輯器”按鈕,確認(rèn)當(dāng)前目標(biāo)已由<EM>標(biāo)簽
切換為<a>標(biāo)簽
。

??????再次點(diǎn)擊運(yùn)行,查看結(jié)果,輸出正確結(jié)果。
