zoukankan      html  css  js  c++  java
  • Appium常用操作之页面中的滑动点击

    经常有些滑动场景,比如:滑动列表找到指定元素,可能该元素并没有在当前页面显示,需要进行滑动至指定位置该元素才显示,那么怎么针对该场景去定位元素操作元素呢?

    问题解决思路:每次滑动一段距离,利用while循环判断该页面是否包含某个元素文本信息,如果有的话就获取该元素信息,没有的话继续滑动

    #获取当前页面所有的布局、元素信息
    pagesource=driver.page_source
    #new_pagesource存放滑动之后的pagesource信息
    new_pagesource=None
    #例如在页面中找“吃个鱼丸”
    while "吃个鱼丸"not in new_pagesource:
        pagesource=driver.page_source
        #向下滚动页面,引用封装好的swipeDown()方法,见https://www.cnblogs.com/123blog/p/12622826.html
        swipeDown(1000)
        new_pagesource=driver.page_source
    #找到吃个鱼丸进行点击
    if pagesource.find("吃个鱼丸")!=-1:
        driver.find_element_by_android_uiautomator("new UiSelector().text("吃个鱼丸")").click()
    

      用上诉的思路能够实现我们的需求,但是代码相对来说比较复杂,我们还有一种解决思路能够提供更快捷的方式。

    问题解决思路:利用UiAutomator中的UiScrollable滚动类来讲元素滚动到可见区域再来操作;

    UiScrollable可以生成一个滚动动作的对象,其最大的作用就是可以实现滚动的查找某个元素,具体用法见官方文档:https://developer.android.google.cn/training/testing/ui-automator#ui-automator-apis

    element=driver.find_element_by_android_uiautomator('new UiScrollable(new Uiselector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().textMatches("吃个鱼丸").instance(0))')
    #再对元素进行操作-点击
    element.click()
    

      

  • 相关阅读:
    闭包问题小总结
    git常用命令总结
    数组对象方法的使用
    JS截取URL参数
    CSS清除浮动&内容居中&文字溢出
    网址大全
    any more
    下载网页视频
    下载无损音乐
    "前端" 宝藏网站
  • 原文地址:https://www.cnblogs.com/123blog/p/12622942.html
Copyright © 2011-2022 走看看