Appium+python自动化12-appium元素定位

前言

appium定位app上的元素,可以通过id,name.class这些属性定位到

一、id定位

1.appium的id属性也就是通过UI Automator工具查看的resource-id属性

2.如上图的定位,就可以通过id来定位

格式:driver.find_element_by_id("这里是resource-id")

driver.find_element_by_id("com.taobao.taobao:id/home_searchedit")

二、name定位

1、name定位就是通过UI Automator工具查看的text属性

(如果text属性为空,那就不能通过name属性定位了)

2.如上图的定位,就可以通过name来定位

格式:driver.find_element_by_name("这里是text")

driver.find_element_by_name("搭配新宠不能缺")

三、class属性

1.class定位就是通过UI Automator工具查看的class属性

2.如上图的定位,就可以通过class来定位

格式:driver.find_element_by_class_name("class属性")

driver.find_element_by_class_name("android.widget.EditText")

(注:一般一个页面上的class属性不唯一,元素不唯一的话定位会报错了)

四、accessibility_id

1.accessibility_id定位就是通过UI Automator工具查看的content-desc属性

(当然下图这个元素的content-desc属性为空,就不能通过这个属性定位了,这里只是举个例子)

2.如上图的定位,看到content-desc属性有值,就可以通过accessibility_id来定位了

格式:driver.find_element_by_accessibility_id(“content-desc的值”)

driver.find_element_by_accessibility_id(“xxx”)

(注:一般一个页面上的class属性不唯一,元素不唯一的话定位会报错了)

除了上面的这几个通过属性定位的,复杂一点的还可以通过xpath和AndroidUiAutomator来定位,后面继续介绍

在学习过程中有遇到疑问的,可以加appium(python+java) QQ群交流:512200893

(0)

相关推荐

  • selenium定位不到元素常见的问题

    selenium定位不到元素常见的问题

  • appium

    文章目录 appium 1.appium可以测试的对象 2.自动化混合APP的条件 3.总结 4.查看webview版本 5.APP面试点 6.代码部分 方式1: 设置搜索webview 方式2: 输 ...

  • 定位元素 | 白月黑羽教Python

    代码规则 点击这里,边看视频讲解,边学习以下内容 从示例代码,大家就可以发现,和Selenium Web自动化一样,要操作界面元素,必须先 定位(选择)元素. Appium是基于Selenium的,所 ...

  • appium+python自动化34-获取元素属性

    前言 在做断言的时候,我们往往需要先获取目标元素的某些属性值,拿来判断,比如登录后,如何判断登录成功了呢?可以通过登录后获取账号的名称(元素的text属性)来判断. 一.获取text ``` # co ...

  • appium+python自动化49-yaml管理定位元素

    前言 如何高效管理定位元素,这个是很有学问的问题,也是面试必问的[以下纯属个人观点,勿喷!]. 有的人用xml管理页面定位元素,这种逼格略高,但是小编认为学习成本大,贼麻烦. 有的人提到用excel管 ...

  • Appium+python自动化14-查看webview上元素(DevTools)

    前言 app上webview的页面实际上是启用的chrome浏览器的内核加载的,如何把手机的网页加载到电脑上,电脑的chrome浏览器上有个开发模式,是可以方便调试的. 一.环境准备 1.手机上装一个 ...

  • Appium+python自动化20-查看iOS上app元素属性

    前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素 Mac版的appium1.6的 ...

  • Appium+python自动化28-name定位

    前言 appium1.5以下老的版本是可以通过name定位的,新版本从1.5以后都不支持name定位了 一. name定位报错 1.最新版appium V1.7用name定位,报错: > sel ...

  • appium+python自动化30-list定位(find_elements)

    前言 有时候页面上没有id属性,并且其它的属性不唯一,平常用的比较多的是单数(element)的定位方法,遇到元素属性不唯一,就无法直接定位到了. 于是我们可以通过复数(elements)定位,先定位 ...

  • appium+python自动化31-android_uiautomator定位

    前言 appium的前身就是封装android的uiautomator这个框架来的,所以uiautomator的一些定位方法也可以用 一. text 1.通过text文本定位语法 > new U ...

  • appium+python自动化32-android_uiautomator定位进阶版

    前言 上一盘介绍uiautomator的定位方式都是类似这种'new UiSelector().xxx("xxx")',看起非常长,我也记不住,这很不python.于是本篇优化了定 ...

  • appium+python自动化50-生成定位对象模板templet(jinja2)

    前言 每次自己写pageobject定位元素对象太繁琐,格式都差不多,只是换个定位方法,这种就可以才有模板的方式,批量生成pageobject定位元素对象的模板 python里面生成模板有两个模块可以 ...