一.为什么发这博客

前几天业务需要需要操作云手机进行爬取没办法只有混进airtest官方群边学习边进行开发,蛮简单的东西(可能是我之前会selenium,appuim关系吧),但是群里会有很多问题,关于匹配元素其实很简单.....
我就把我使用经验总结一下

二.单个和多个

'你一定要把它当做一个网页'
匹配一个
poco('xx') 匹配多个
list(pcoc('xx')) #加个ls你可以看的更加清晰加了后也可以用
#for循环也好,切片工具也好你都可以选择
#其实就这么简单

三.元素的后续节点选择

当使用一个元素的属性没法精准匹配到该元素的时候的使用
poco('条件1').下面介绍的方法(条件2)

child

获取当前节点下的子节点,如果是多个获取多个,没有转换list或者不用for循环提取默认提取第一个节点

children

获取子节点,如果是多个获取多个,没有转换list或者不用for循环提取默认提取第一个节点
#那他和child有什么区别呢,只能说用起来有区别child可以选择指定的子节点,而children没法指定

offspring

获取当前节点下的孙节点,如果是多个获取多个,没有转换list或者不用for循环提取默认提取第一个节点

sibling

获取当前节点的兄弟节点

parent

获取当前节点的父节点

元素属性内容正则匹配

poco(元素属性名Matches='正则表达式')

四.元素属性

attr:获取指定属性

使用:poco('xx').attr('属性名')

get_text():获取文本内容

使用:poco('xx').get_text()

五.有无元素判断

poco('xx').exists() #判断指定元素是否存在在当前屏幕上
存在:return True
不存在:return False

Airtest常见的素定位不到的更多相关文章

  1. Selenium2+python自动化44-元素定位参数化(find_element)

    前言 元素定位有八种方法,这个能看到这一篇的小伙伴都知道了,那么有没有一种方法,可以把八种定位合为一种呢?也就是把定位的方式参数化,如id,name.css等设置为一个参数,这样只需维护定位方式的参数 ...

  2. Selenium2+python自动化44-元素定位参数化(find_element)【转载】

    前言 元素定位有八种方法,这个能看到这一篇的小伙伴都知道了,那么有没有一种方法,可以把八种定位合为一种呢?也就是把定位的方式参数化,如id,name.css等设置为一个参数,这样只需维护定位方式的参数 ...

  3. 【重要】Selenium2+python自动化44-元素定位参数化(find_element)

    转:https://www.cnblogs.com/yoyoketang/p/6551274.html 前言 元素定位有八种方法,这个能看到这一篇的小伙伴都知道了,那么有没有一种方法,可以把八种定位合 ...

  4. appium---元素定位方法

    在我们做自动化测试的过程中,最基本的就是要会元素定位,也是自动化中的灵魂所在,如果一个自动化测试工程师说不会定位元素定位,那么肯定也不会做自动化了. 如何查看元素 小伙伴们都知道如果是web端可以通过 ...

  5. Python3+Appium学习笔记07-元素定位工具UI Automator Viewer

    这篇主要说下如何使用UI Automator Viewer这个工具来定位元素.这个工具是sdk自带的.在sdk安装目录Tools目录下找到uiautomatorviewer.bat并启动它 ​ 如果启 ...

  6. 0.0---selenium+java自动化基础01---元素定位和操作

    一.定位方法 1.通过ID定位元素:driver. findElement(By.id(value)); 2.通过元素的名称定位元素: driver. findElement(By.name( val ...

  7. CSS中常见的BUG调试

    1.布局--layout 布局是windows提出的概念,用于控制元素的尺寸和定位. 拥有布局的元素负责自身及其子元素的尺寸及定位,而没有布局的元素仅仅能依靠近期的祖先元素进行控制. 通常在IE6中出 ...

  8. 关于32位windows与4GB内存的那些事儿

    参考:1 Physical Address Extensionzh.wikipedia.org/wiki/PAEen.wikipedia.org/wiki/Physical_Address_Exten ...

  9. M1卡区块控制位详解

    M1卡区块控制位详解 Mifare 1S50/Mifare 1S70 每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取 控制.存取控制为4个字节,共32位,扇区中的每个块(包括 ...

随机推荐

  1. python之excel的封装

    python之excel的封装 将所有excel的操作都使用面向对象的思维进行封装,即将所有操作都放入一个类中即为封装. 它将excel的处理极大程度的进行了简化操作 封装前需要先处理的操作: 1.在 ...

  2. node.js代码二

    var express = require('express'); var app = express(); var server = require('http').Server(app); var ...

  3. python 程序双击执行的小技巧

    文章更新于:2020-04-03 按照惯例,需要的文件附上链接放在文首. 文件名:ICOFX图标制作软件.7z 文件大小:40.2 MB 下载链接:https://www.lanzous.com/ia ...

  4. flask 入门之 logging

    如想看详细说明,请到: 1.https://www.cnblogs.com/yyds/p/6901864.html 2.https://docs.python.org/2/library/loggin ...

  5. leetcode Perform String Shifts

    Perform String Shifts You are given a string s containing lowercase English letters, and a matrix sh ...

  6. 如何把Excel表暴力拆分了,python两段代码帮你搞定

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:老方玩编程 PS:如有需要Python学习资料的小伙伴可以加点击下方 ...

  7. google protobuf c++ 反射

    const Descriptor *desc = DescriptorPool::generated_pool()->FindMessageTypeByName(msg_name); asser ...

  8. Python冒泡排序算法及其优化

    冒泡排序 所谓冒泡,就是将元素两两之间进行比较,谁大就往后移动,直到将最大的元素排到最后面,接着再循环一趟,从头开始进行两两比较,而上一趟已经排好的那个元素就不用进行比较了.(图中排好序的元素标记为黄 ...

  9. 多窗体及窗体之间传值 以及listview的使用

    三中打开窗口窗体状态: 1   messagebox.show 类型  特点: 从窗口form 1里打开另一个窗体form2,form2不关闭的情况下form1 不能操作:代码如下: private ...

  10. 3. JS生成32位随机数

    function randomWord ( randomFlag,min,max ) { var str = " ", range = min, arr = ['0','1','2 ...