目錄
1、模拟手勢點選坐标
2、tap()用法
3、練習
4、弊端
在定位元素的時候,你使出了十八班武藝還是定位不到,怎麼辦呢?(面試經常會問)
那就拿出絕招:點選元素所在位置的坐标。(坐标定位)
詳細說明:
如下圖定位"去看看"這個元素,除了坐标屬性,其他沒有可用于定位的屬性資訊了。這個時候就需要用坐标來進行定位點選了。
下圖中可以看到右側<code>bonds</code>屬性:<code>[374,831][654,906]</code>,我的了解是第一個坐标是紅框框長方形的左上角坐标,第二個坐标是紅框框長方形的右下角坐标,是以如果我想要點選紅框框的内容,隻要<code>[374~654,831~906]</code>之間的任意一個坐标都可以用。
如下圖所示:
此<code>tap()</code>方法并不是我們之前說過的<code>TouchAction</code>類中的<code>tap()</code>方法,該<code>tap()</code>方法是模拟手勢觸摸的方法。
<code>tap()</code>方法介紹:
提示: 因為之前一直用的<code>click()</code>方法進行點選,<code>click()</code>方法是定位元素後才進行點選操作的。 而頁面中的坐标資訊是一直存在的,是以<code>tap()</code>方法會直接運作,是以腳本執行的時候,沒有點選效果,是因為執行坐标定位點選操作的時候,元素還沒有出現。 是以<code>tap()</code>觸摸方法前面務必加上延時或者判斷!!!
通過坐标定位是元素定位的下下策,實在沒辦法才用這個,另外如果換了其他手機,分辨率就會不一樣,這個坐标就不能寫死了,得算出所在螢幕的比例。
注意: 不到萬不得已不要用<code>tap()</code>觸摸方法,因為不同手機分辨率不同,同樣的元素在不同手機的位置不同。