• 【appium】根据UIAutomator定位元素


    text属性的方法

    driver.find_element_by_android_uiautomator('new UiSelector().text("Custom View")').click()         #text
    driver.find_element_by_android_uiautomator('new UiSelector().textContains("View")').click()        #textContains
    driver.find_element_by_android_uiautomator('new UiSelector().textStartsWith("Custom")').click()    #textStartsWith
    driver.find_element_by_android_uiautomator('new UiSelector().textMatches("^Custom.*")').click()    #textMatches
    

    class属性的方法

    driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.TextView").text("Custom View")').click()     #className
    driver.find_element_by_android_uiautomator('new UiSelector().classNameMatches(".*TextView$").text("Custom View")').click()          #classNameMatches
    

     伪xpath方法定位

    driver.find_element_by_android_uiautomator('new UiSelector().text("Custom View").fromParent(new UiSelector().text("Accessibility Service"))').click()            #通过同级元素定位同级元素
    driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.ListView").childSelector(new UiSelector().text("Custom View"))').click()  #通过父级元素定位子集元素
    

     resourceId属性的方法

    
    
    driver.find_element_by_android_uiautomator('new UiSelector().resourceId("android:id/text1")')    #resourceId
    driver.find_element_by_android_uiautomator('new UiSelector().resourceIdMatches(".*id/text1$")')  #resourceIdMatches
    
    
    
    description属性的方法
    driver.find_element_by_android_uiautomator('new UiSelector().description("Custom View")').click()      #description
    driver.find_element_by_android_uiautomator('new UiSelector().descriptionStartsWith("Custom")').click() #descriptionStartsWith
    driver.find_element_by_android_uiautomator('new UiSelector().descriptionMatches("^Custom.*")').click() #descriptionMatches
    

     元素的其他属性

    除了以上比较常用的方法外,UIAutomator还支持其他一些方法,比如根据控件属性是否可点击可聚焦可长按等来缩小要定位的控件的范围,具体使用方法不一一列举(checked,clickable,focesed.......)

    driver.find_element_by_android_uiautomator('new UiSelector().clickable(true).text("Custom View")').click() 
    
     
  • 相关阅读:
    阿里HBase高可用8年“抗战”回忆录
    Service Mesh 初体验
    阿里云HBase推出普惠性高可用服务,独家支持用户的自建、混合云环境集群
    Ververica Platform-阿里巴巴全新Flink企业版揭秘
    深度 | 带领国产数据库走向世界,POLARDB底层逻辑是什么?
    AI加持的阿里云飞天大数据平台技术揭秘
    Nacos 常见问题及解决方法
    数据上云,应该选择全量抽取还是增量抽取?
    一文带你了解 Flink Forward 柏林站全部重点内容
    Oracle数据库中序列(SEQUENCE)的用法详解
  • 原文地址:https://www.cnblogs.com/paulwinflo/p/4742529.html
Copyright © 2020-2023  润新知