zoukankan      html  css  js  c++  java
  • appium java 滑动(js滑动和swipe滑动)

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

    一:用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滑动是很实用的。

  • 相关阅读:
    未能加载文件或程序集''file:///D:/Program Files (x86)/ArcGIS/DeveloperKit10.0/DotNet/ESRI.ArcGIS.ADF.Local.dll'' 或它的某一个依赖项。试图加载格式不正确的程序。
    [GL]三维场景的组织
    一张图,把我震惊了【转】
    [WorldWind学习]8.Cache对象
    [WorldWind学习]6.World类
    七桥问题及一笔画
    VS下Qt4.8.4安装
    [WorldWind学习]5.相机对象
    [WorldWind学习]1.接触WorldWind项目
    [WorldWind学习]2.WorldWindow控件
  • 原文地址:https://www.cnblogs.com/926xiuxiu/p/8022724.html
Copyright © 2011-2022 走看看