appium java 滑动(js滑动和swipe滑动)

摘要:
使用js滑动的想法非常简单//找到元素System。出来println(ele)//打印找到的内容线程。sleep(2000)//将驱动程序实例化为js对象dj。executeScript(“arguments[0].sollIntoViewIfNeed(true);

最近有一个页面的内容很多,有的元素需要滑动到底部才能看到,所以就研究一下滑动,下面是我学习到的两种滑动方式

一:用js滑动

用js滑动的思路是很简单,首先是先定位到这个元素,定位到之后不做任何操作,然后把Driver实例化为js对象,之后运用 executeScript()方法进行滑动,

具体代码如下面所示:

WebElement ele=driver.findElementByLinkText("联系我们");//定位到元素
System.out.println(ele);//打印出定位的内容
thread.sleep(2000);//加2秒等待
JavascriptExecutor dj=(JavascriptExecutor)driver;//将Driver实例化为js对象
dj.executeScript("arguments[0].scrollIntoViewIfNeeded(true);", ele);//滑动到上面定位到的元素的位置

二:用swipe进行滑动(只能切换到原生的app里面才生效)

用swipe滑动也是一种不错的选择,但是swipe是相对于屏幕滑动的,每次滑动的距离是有限的。

下面是用swipe滑动的代码:

driver.context("NATIVE_APP");   //切换到NATIVE_APP里面

int width = driver.manage().window().getSize().width;//获取当前屏幕的宽度
int height = driver.manage().window().getSize().height;//获取当前屏幕的高
thread.sleep(1000);
driver.swipe(width/2,height*3/4, width/2,height/4,1000);//向上滑动

thread.sleep(1000);
driver.swipe(width/2,height/4,width/2,height *3 /4,1000);//向下滑动

在此说明一下:

       我最开始打算用的swipe滑动,后来发现用swipe滑动需要切换到原生的native里面滑动才生效,而且滑动的距离是有限的,但我需要的元素是在页面的最下面,如果用swipe需要滑动很多次,所以我就想有没有一种方式可以一次滑动到我想要看到的那个元素的地方,于是又在网上找了很多方法,发现用js滑动是很实用的。

免责声明:文章转载自《appium java 滑动(js滑动和swipe滑动)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle远程连接openwrt-智能路由器hack技术(2)---"网路信息监控和窃取"下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

swipe.js 轻松实现手机端滑动效果

插件下载地址 官网:http://www.swipejs.comgithub:https://github.com/bradbirdsall/Swipe 插件特色 swipe.js是一个比较有名的触摸滑动插件,它能够处理内容滑动,支持自定义选项,你可以让它自动滚动,控制滚动间隔,返回回调函数等。经常可见使用在移动开发中 使用方法 HTML代码如下: <...

R语言基本操作函数---变量的基本操作

1.变量变换        as.array(x),as.data.frame(x),as.numeric(x),as.logical(x),as.complex(x),as.character(x),...转换变量类型;使用如下命令可得到全部列表,methods(as)        factor():将一个向量转化为一个因子2.变量信息        ...

colorUI样式笔记

字体大小 类名 介绍 实际属性 说明 text-xsl 特大号字 font-size: 120rpx; 用于图标、数字等特大显示 text-xs 说明文本 font-size: 20rpx; 说明文本,标签文字等关注度低的文字 text-sl 较大号字 font-size: 80rpx; 用于图标、数字等较大显示 text-xxl 特...

大根堆的创建过程

初始堆就是大根堆,只是是第一次(初始序列)调整,第一次必须是自底向上逐个调整,以后(第一次交换后)是自上向下调整(因为除了第一个即堆顶元素,其他都是已经调整好的堆)。过程:先把数据画出一颗二叉树:                     40           30                92    16         20     47  ...

numpy中的ndarray方法和属性

原文地址 NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推。在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量。比如说,二维数组相当于是一个一维数组,而这个一维数组中每个元素又是一个一维数组。所以这个一维数组就是NumPy中的轴(axes),而轴的数量——秩,就是数组的维数。 Numpy库中的...

Java集合(五) Set 添加元素

Java中Set集合是如何实现添加元素保证不重复的?   Set集合是一个无序的不可以重复的集合。今天来看一下为什么不可以重复。   Set是一个接口,最常用的实现类就是HashSet,以HashSet为例。   HashSet类实现了Set接口, 其底层其实是包装了一个HashMap去实现的。HashSet采用HashCode算法来存取集合中的元素,因此...