1.id定位

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

2.name定位 (新版本的appium 1.7 已经没有这个定位方法了)

driver.find_element_by_name("这里是text")

3.class定位

driver.find_element_by_class_name("class属性")

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

4..accessibility_id定位

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

5.坐标定位

driver.tap([(374, 831), (654, 906)], 500)     500是点击时间  tap是模拟点击

6.Xpath定位

driver.find_element_by_xpath(“xpath”)

android_uiautomator定位方法

text文本定位: 定位元素文案为"Login"的按钮

dr.find_element_by_android_uiautomator('text(\"Login\")').click()

dr.find_element_by_android_uiautomator("new UiSelector().text(\"Login\")").click()   #第2种写法

精确定位

模糊定位

dr.find_element_by_android_uiautomator('textContains(\"Log\")').click()

dr.find_element_by_android_uiautomator("new UiSelector().textContains(\"Login\")").click()   #第2种写法

后记:

ios的 是  driver.find_element_by_ios_uiautomation()

后记:

这里 可以配合  做显示等待

https://www.cnblogs.com/kaibindirver/p/8401847.html

resource-id定位

dr.find_element_by_android_uiautomator("new UiSelector().resourceid(\"resource-id\")").click()

className定位

dr.find_element_by_android_uiautomator("new UiSelector().className(\"className\")").click()

className复数定位 (感觉这个方法没啥用啊?)

loc_calss="new UiSelector().className(\"className\")"

dr.find_element_by_android_uiautomator(loc_calss)[2].click()

组合定位

text+resourceid

dr.find_element_by_android_uiautomator('resourceid(\"resource-id\").text(\"Login\")').click()

这里的都可以用 password属性 如:  new UiSelector().password(\"false\")")在和上面一样组合或者单独用   -------  我猜的

后记:

使用这个定位方法记得在头部加参数

desired_caps = { 'automationName': 'Uiautomator'}

appium定位方法的更多相关文章

  1. Appium 定位方法例子(4)

    有朋友留言反应定位不到元素,没错,船长也为这个一直在头疼,我用的App是原生安卓+webService+h5类型的,定位虽然没问题,但是在进行操作的时候各种不通过……真的很头疼啊……我这里说的“操作” ...

  2. 3.appium定位方法

    1.使用id定位: driver.find_element_by_id('id的名称').click() 2.使用className定位: driver.find_element_by_class_n ...

  3. appium---uiautomator定位方法

    前面总结了7种定位方法,今天在介绍一种uiautomator方法,其实appium就是基于uiautomator框架实现的,让我们一起看下uiautomator有哪些定位方法可以使用 uiautoma ...

  4. Appium学习笔记4_元素定位方法

    Appium之元素定位,如果对Android上如何使用工具获取页面元素有问题的,请转战到这:http://www.cnblogs.com/taoSir/p/4816382.html. 下面主要是针对自 ...

  5. Python Appium 元素定位方法简单介绍

    Python  Appium  元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_ ...

  6. Robotframework + Appium 之常用元素定位方法

    任何自动化测试,其实手动测试也是一样的,元素定位(目标定位)是首要任务,这是最直接的测试对象呀! 好了,废话不多说,又到了元素定位啦,之前我们已经介绍过selenium及appium常用的定位方法,下 ...

  7. appium 元素定位方法汇总

    以上图为例,要定位到右下角的 我的 ,并点击 # appium的webdriver提供了11种元素定位方法,在selenium的基础上扩展了三个,可以在pycharm里面输入driver.find_e ...

  8. 基于appium的常用元素定位方法

    一.元素定位工具 app应用的元素使用的是控件定位,不同于web网页,web网页定位元素通常使用的是F12工具,那么在app当中我们则要借助其它的工具来辅助定位. 1.uiautomatorviewe ...

  9. python+Appium自动化:各种元素定位方法

    name定位 driver.find_element_by_name('飞利浦净水').click() 测试结果报错:selenium.common.exceptions.InvalidSelecto ...

随机推荐

  1. ShellExecute函数的问题

    情境:自己写了一个loading画面,定时器到时间后调用shellexecute函数调用真正的程序. 问题:调用时出错,说找不到dll资源,但是用鼠标双击确可以打开. 经过分析之后,应该是路径的问题, ...

  2. TADOTABLE 永久字段的顺序 和 AppendRecord

    AppendRecord 方法,添加记录的字段到数据库里时,是按照IDE里永久字段的顺序,不是数据库表里的字段顺序. 自动编号 字段,以nil为值. 日期时间 字段,直接now 写法

  3. js相关小技巧

    1.清空type=file的input文件上传控件的内容,相当于重置.txtFile是该input的id $("#txtFile").val(""); $(&q ...

  4. (转载)SAPI 包含sphelper.h编译错误解决方案

    [转]SAPI 包含sphelper.h编译错误解决方案 在使用Microsoft Speech SDK 5.1开发语音识别程序时,包含了头文件“sphelper.h”和库文件“sapi.lib”.编 ...

  5. python 爬虫系列教程方法总结及推荐

    爬虫,是我学习的比较多的,也是比较了解的.打算写一个系列教程,网上搜罗一下,感觉别人写的已经很好了,我没必要重复造轮子了. 爬虫不过就是访问一个页面然后用一些匹配方式把自己需要的东西摘出来. 而访问页 ...

  6. centos7 docker 安装showdoc

    可参考 http://www.showdoc.cc/help?page_id=65610 1.下载代码,并上传服务器 https://github.com/star7th/showdoc 解压之后我的 ...

  7. Alpha阶段敏捷冲刺---Day7

    一.Daily Scrum Meeting照片 二.今天冲刺情况反馈     今天是Alpha阶段敏捷冲刺的最后一天,今天我们将对这一阶段的任务进行扫尾工作,我们打算完成之前设想的程序的所有功能,包括 ...

  8. 关于epoll的IO模型是同步异步的一次纠结过程

    这篇文章的结论就是epoll属于同步非阻塞模型,这个东西貌似目前还是有争议,在新的2.6内核之后,epoll应该属于异步io的范围了,golang的高并发特性就是底层封装了epoll模型的函数,但也有 ...

  9. TypeScript 编译器源码研究(一)

    TypeScript (以下简称 TS)是一个非常强大的语言,其编译器源码超过 10000 行. 源码在 Github 可以找到:https://github.com/Microsoft/TypeSc ...

  10. [转载]redis持久化的两种操作RDB和AOF

    Redis 持久化: 提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF. RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AO ...