8大元素定位

tag_name:通过标签名称,找出来的元素太多了
name:用户输入input,不出意外总会有name属性
class_name
id
1、同一个页面当中,某个id只能用一次,
2、如果元素有id,会优先使用id定位,
3、不好的消息,不是所有的元素都有id
link_text:连接的文本,只能用来定位连接
partial_link_text
css_selector
xpath:用的最多
//*[@id="s-top-left"]/a[3]: xpath表达式 相对路径: //开头
//*[@id="kw"]
/html/body/form/div/input[1] 绝对路径:/开头 必须从最开头的地方找
为什么叫路径?和操作系统的文件路径长的很像

xpath表达式的语法

用/还是//,测试行业,选择相对路径,几乎不会选择绝对路径

为什么?
1、因为绝对路径不稳定、
2、绝对路径更长,不好找
格式:
//找的标签名称[@属性名=‘属性值’]
以百度页面为例

例1:定义百度输入框,以下2种方法
第一种精确匹配
//input[@type=“text”]
第二种正则表达式匹配,*:代表正则表达式:通配符,表示匹配所有的标签名
//*[@type=“text”]

xpath组合条件

组合属性:可以缩短查询范围,当定位一个元素,用一个属性名=属性值不能精确定位时,可以用组合属性定位

例2:还是定位百度输入框
格式:
//标签名[@属性名=‘属性值’ and @属性名=‘属性值’]
//*[@type=“text” and @class=“s_ipt”]

嵌套匹配

组合通过父亲找儿子关系(先找到上一级,再定位本级)
//span[@id=“s_kw_wrap”]/input[@type=“text”]

组合通过祖先找儿子关系(只要是本级的上级就可以)
//form[@id=‘form’]//input[@name=‘wd’]

通过儿子找父亲
//input[@id='kw']/..
通过儿子找祖先(比较麻烦,不推荐)
//input[@id='kw']/../../..

通过兄弟姐妹找(比较麻烦)
//input[@id='kw']/../[@class='soutu-btn']

通过索引查找

xpath的索引是从1开始数的
xpath的计算索引的优先级很高
当通过//input[@type=“hidden”]可以定位多个元素的时候,加上索引
例:(//input[@type="hidden"])[3]

通过组合text文本

text不是用@符号,不是属性,是函数 text()
比对以下2种写法:
//a[text()=‘新闻’] text是方法名
//a[@text=‘师资团队’] text是属性名

例如:定位百度页面的图片超链接
//a[text()='图片']

//i[@title="清空"]

通过函数组合contains(依据,值)

//a[contains(text(),'值')]模糊查找
//a[contains(@class,'值')]模糊查找

例:定位新闻超链接
通过text文本定位://a[contains(text(),'闻')]模糊查找

通过属性名定位://a[contains(@class,'c-font-normal')]

xpath定位,如何确定唯一性?

在源代码中ctrl+f,粘贴 查找

xpath:轴定位,轴运算

获取父亲://input[@type="text"]//parent::span

获取祖先://input[@type="text"]//ancestor::form

后面还可以加条件 //input[@type="text"]//ancestor::form[@id='form']

同级查找,该元素(input)上方的,哥哥/姐姐
//input[@type="text"]/following-sibling::span
如果有多个哥哥就需要索引查找了

同级查找,该元素(input)下方的,妹妹/弟弟
//input[@type="text"]/preceding-sibling::span
如果有多个妹妹就需要索引查找了

自动化测试8大元素定位之xpath语法相关推荐

  1. UI自动化测试之八大元素定位方法(最新版)

    Selenium-UI自动化测试之八大元素定位方法(最新版) 前言 UI界面本质上就是HTML直接体现,脚本通过HTML标签信息来找到具体的元素. 元素定位:通过代码调用方法查找元素 一.ID定位 概 ...

  2. Android app UI自动化测试 常用的元素定位方法

    本文简要介绍了移动端Android APP进行UI自动化测试时,常用到的元素定位方法 目录 前言 一.通过resource-id定位 二.通过class name定位 三.通过accessibilit ...

  3. Selenium常用的8大元素定位方法

    1.元素定位方法的分类(调用方式): 直接调用型(推荐方式) driver.find_element_by_xxx(value) 使用By类型(需要导入By) from selenium.webdri ...

  4. Appium 自动化测试 H5页面元素定位

    简介   在现在的移动端App中,由于开发效率.需求频繁变更的需求情况下,经常有相关的运营需求,经常要进行更新,如果全部采用原生开发,需要的成本比较高,后来就出现了内嵌的H5页面.那么这些H5页面元素 ...

  5. APP UI 自动化测试 H5页面元素定位

    使用 uc-devtools 代替 uiautomatorviewer 查找定位H5元素 由于uiautomatorviewer 只能定位APP原生页面: 所以要定位app H5 页面内的元素 使用 ...

  6. python xpath定位不到_Xpath定位方法深入探讨及元素定位失败常见情况

    一.Xpath定位方法深入探讨 (1)常用的Xpath定位方法及其特点 使用绝对路径定位元素. 例如: driver.findElement(By.xpath("/html/body/div ...

  7. xpath常用的元素定位方式

    xpath常用的元素定位方式 xpath是比较常用的一种定位元素的方式,因为它很方便,缺点是,消耗系统性能.如果Xpath使用的比较好,几乎可以定位到任何页面元素,而且受页面变化影响较小.(以下是个人 ...

  8. Selenium学习(2) 元素定位

    元素的定位是自动化测试的核心,想要操作一个元素,首先应该识别这个元素. webdriver提供一个一系列的元素定位方法,常用的有以下几种: id name class name link text p ...

  9. UI自动化测试之元素定位方法

    Python语言Selenium库UI自动化测试(一)元素定位方法 简介 当我们日常搭建自动化测试框架时,用Python调用浏览器时,通常有Requests库.Selenium库 这两个库是进行爬虫或 ...

最新文章

  1. Windows Server 2008与2012建立林信任关系
  2. php unable to save,php – Laravel save()未定义
  3. Android中文API-ViewStub
  4. 魔兽世界终端服务器,《魔兽世界》怀旧服数据已上传服务器:登录画面引人怀念...
  5. openerp mysql_Odoo字段(Fields)总结-至2020全
  6. SQL 增删改查(具体)
  7. Java微服务:这个画饼是个谎言,但你却不能忽视它
  8. Excel 在某一列中寻找最大值并加粗
  9. java kernel32.dll,关于kernel32.sys病毒的问题
  10. 10部程序员必看的纪录片
  11. excel/vosviewer词频统计的方法
  12. 为什么中国电气自动化工程师这么难招
  13. javascrip语言精髓与编程实践pdf_C/C 编程推荐学习顺序和书籍
  14. 数学主题分类 - 中文(上)
  15. android表情功能开发
  16. css3 dyoe_【跑马灯】纯css3跑马灯demo
  17. 折腾:如何让你的老电脑快起来
  18. 发光二极管限流电阻(学习笔记)
  19. sap采购申请自动转采购订单_我的SAP运维日常_0021_MM_计划订单转采购申请时绑定凭证类型...
  20. 1.2帮助软件Rstudio的下载与安装

热门文章

  1. 二阶矩阵转置怎么求_矩阵求导术(下)
  2. python日历小程序_一个查看网络设备信息Python小程序
  3. name optimize is not defined 怎么解决_Web前端:怎么在JavaScript中比较对象?
  4. ML之FE:特征工程中常用的五大数据集划分方法(特殊类型数据分割,如时间序列数据分割法)讲解及其代码
  5. SLAM:SLAM(即时定位与地图构建)的简介、发展、案例应用之详细攻略
  6. DL之DNN:利用numpy自定义三层结构+softmax函数建立3层完整神经网络全部代码实现(探究BP神经网络的底层思想)
  7. Python语言学习:创建/删除文件/文件夹、获取当前文件/文件夹路径(系统环境路径/目录)、获取当前文件夹下的所有子文件路径等代码(os系列用法)实现之详细攻略
  8. ML之Clustering之LPA:LPA算法主要思路、输出结果、代码实现等相关配图之详细攻略
  9. android monkey压力测试(二)
  10. express 连接 moogdb 数据库