本文介绍一下appium的常用的几种定位方式,id定位、xpath定位、name定位、坐标定位。就四种吧,本人自己就只经常用到前两种。剩下的两种不是经常用,为什么不经常用下文会说明的。先卖个小关子。O(∩_∩)O哈哈~
id定位直接复制resource-id的值就是appium的id(下面的星号是被我刷掉的公司名,O(∩_∩)O哈哈~)
driver.find_element_by_id('com.****.android.fund:id/title').click()
name定位直接复制text的值就是appium的name定位,不建议使用name定位。因为1.6.+的appium版本不支持name定位
哥现在用的是python2.7的版本所以需要加“u”
driver.find_element_by_name(u'历史交易记录').click
xpath定位经常用的是三种,第一种是class+text定位。第二种是class+content-desc定位。第三种就是class的父节点。
咱们先介绍第一种上图,xpath定位第一种方式
driver.find_element_by_xpath(u'//android.widget.TextView[contains(@text,"转入记录")]').click()
xpath第二种定位方法
driver.find_element_by_xpath(u'//android.widget.ImageButton[@content-desc="转到上一层级"]').click()
第三种定位方式是从需要的元素向上一次选择class元素。有相同的class需要用中括号标注是第几个元素,相同元素从1开始
driver.find_element_by_xpath('//android.support.v7.widget.RecyclerView/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView[2]').click()
好了就这样吧,就是突然想写点什么刷刷存在感。o(╯□╰)o
哦!差点忘了还有坐标定位,坐标定位简单太简单了,鼠标放在要点击的位置上就会有下图的点击坐标显示就这样了
括号内的数字是屏幕的横向坐标(945)和竖向坐标(376)和点击时间(1)
driver.swipe(945,376,945,376,1)
不建议用坐标定位是因为屏幕分辨率更换了就点不到你要点击的元素啦。(~ ̄▽ ̄)~
好了这回是真的好了再见。┏(^0^)┛