目录
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>触摸方法,因为不同手机分辨率不同,同样的元素在不同手机的位置不同。