元素通过name元素定位

Appium的name元素定位对应的是Android上的text字段,语法:

driver.find_element_by_name(‘安检测速’).click()

缺点:部分文本,虽然会显示出来,但是空间上该text字段获取失败

元素通过classname定位

Appium的classname元素定位对应的是Android上的class字段,语法:

driver.find_element_by_class_name(‘android.widget.TextView’).click()

 

缺点:页面可能存在多个class一样的元素,会导致定位错误

元素的相对定位

说明:相对地址定位,指先指定一个位置范围,再相对此范围内去查找需要的元素

脚本及语法如下:

root_element=driver.find_element_by_id('com.mydream.wifi:id/rlWifiAvailable')  
root_element.find_element_by_id(
'com.mydream.wifi:id/tvTitle').click()

 

元素的绝对定位xpath

常用的匹配符号

符号

说明

/

从根节点取,逐级获取

//

从匹配选择的当前界面选择,该方式不考虑节点位置

*

匹配任何元素节点

@

选取属性

.

选取当前节点

..

选取当前节点的父节点

示例:

脚本:

#!_*_ coding:UTF-8 _*_from find_element.capability import driver#根据相对路径来定位# driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.view.View[2]/android.support.v7.widget.RecyclerView/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView[3]').click()#根据绝对路径来定位# driver.find_element_by_xpath('//android.widget.RelativeLayout/android.widget.TextView[3]').click()# 根据绝对路径//>*匹配任何元素节点>@根据元素属性三种组合来定位driver.find_element_by_xpath('//*[@text="安检测速"]').click()

通过list定位

背景:

部分元素得属性值一样,倒是定位不准确,此时可以通过list数组得方式,通过数组下标来定位到指定得元素

语法:find_elements_by_.....

脚本:#!_*_ coding:UTF-8 _*_from find_element.capability import driver#根据id或者class定位时,会出现同一个页面上部分元素得id或者class值一样,此时可以通过list得方式定位textview=driver.find_elements_by_class_name('android.widget.TextView')   #查询到页面上classandroid.widget.TextView得所有元素textview[3].click()    #根据元素得数据下标来定位到对应得元素

更多相关文章

  1. android基础知识13:AndroidManifest.xml文件解析
  2. Android入门 在ListView中如何进行精确的定位
  3. ScrollView嵌套LinearLayout布局不能撑满全屏的问题
  4. android学习--Android五大布局对象---FrameLayout,LinearLayout,
  5. LinearLayout不能显示全部内容
  6. android的位置服务和地图
  7. Android中进入页面默认定位到ListView的第一条数据解决方法
  8. Android解决GPS定位时LocationManager只能绑定一个LocationListe
  9. 百度Android定位API使用指南

随机推荐

  1. Android(安卓)自定义搜索Searchable
  2. 解决Could not find manifest-merger.jar
  3. Android(安卓)Selector 与 Shape 基本用
  4. 如何进行Android单元测试
  5. Android:控件的隐藏显示失效了
  6. Android(安卓)SDK 更新失败解决 Failed t
  7. Android快速上手
  8. 近百android程序源码贡献
  9. 2013.09.02(2)——— android 耳机意外拔
  10. Android新增AppCompatTextView自适应字体