关于Appium在webview页面如何上滑列表至指定元素

**

关于Appium在webview页面如何上滑列表至指定元素

**

工具版本

Appium1.15.1
java-client-7.0.0.jar

之前在测试移动端应用需要滑动的列表时都是采用先检查目标是否存在,如果不存在的话就进行滑动操作,再检查,如果找到目标就停止,找不到的话就如此循环查找。但是这种方法在webview页面已经不适用,因为在webview页面中一进入就会把列表中的所有元素都加载出来,一开始就能够检查到目标,所以就需要其他的方式进行操作了。
因为前段时间刚学习了使用OpenCV去匹配图片然后获取坐标点击的方式解决部分页面无法使用Appium点击的问题,所以很自然的就想使用这种方法来解决,但是通过一番操作之后发现,使用OpenCV的特征匹配方式确实是可以匹配到目标,只是这种方法不知道如何能够返回一个确定的结果,因为即使目标不在页面上,它仍然可以匹配到部分相同的特征点,所以这种方法只能Pass了。
后来发现列表中的元素虽然一进来就能加载出来,但是它的坐标是一直处于屏幕的最底端的
关于Appium在webview页面如何上滑列表至指定元素
但是滑动列表使这个产品位于屏幕上时它的坐标也发生了变化
关于Appium在webview页面如何上滑列表至指定元素
因此我在代码中判断了在目标存在时且当前页面为webview时,获取目标的坐标,如果Y坐标处于设备底部(这里我是判断的设备Y坐标的70%)就小幅度上滑,直到目标的Y坐标处于设备的中上部为止
关于Appium在webview页面如何上滑列表至指定元素
最后又加了一个滑动计数,防止目标本身就在列表的最后时导致死循环一直滑动,实测效果还挺不错的。