前言

今天和大家分享几个工作中经常使用的xpath定位,基本上能解决工作中所有定位。

一.输入框类

1.有提示信息的,例如:placeholder=“请输入用户名”,则可以通过相应提示直接定位。

username=('xpath',"//*[@placeholder='请输入用户名']")



2.无提示信息的,如下图。则可以通过标签的属性值进行定位,前提标签属性不是动态的。例如:

input_password = ('xpath','//input[@lass="ant-input ng-untouched ng-pristine ng-valid"]')


二.按钮类

按钮类是最容易定位的,直接通过按钮名称直接定位。注意下图“确定”和“取消”前后有空格


1.精准定位,通过完全匹配去定位元素。比如:这里必须找到“ 确定 ”(注意这里“确定”前后有空格 )才能定位成功。

#注意这里“确定”前后有空格
bt = ('xpath','//span[text()=" 确定 "]')

注意:这里有很多同学可能定位到了,但是在执行代码的时候却无法点击,我们可以选择定位其父级button

#注意这里“确定”前后有空格
bt = ('xpath','//span[text()=" 确定 "]/..')

2.模糊定位,通过模糊匹配去定位元素。比如:这里必须找到“确定”(注意这里“确定”前后没有空格 )才能定位成功。

bt = ('xpath','//span[contains(text(),"确定")]')

三.通过一个元素去定位另一个元素

这种方法能帮助我们解决一些相对困难的定位,例如:我们要去获取 用户名.txt 文件的大小。

1.我们先直接看看html,文件大小的属性值一模一样,无法单独获取。有同学可能会想到去定位一组元素,但是这里取出来的值,不清楚那个是 用户名.txt 的大小。

2.我们可以通过先定位文件名,然后通过文件名去定位其大小。145 div 同级


这是代码收缩后样子

这里要补充两个知识点,preceding-sibling::标签[索引] 和 following-sibling::标签[索引]。
例子:
第一步://span[text()=“3318.txt”],先定位文件名
第二步://span[text()=“3318.txt”]/…/…/… ,找到与文件大小同级的标签
第三步://span[text()=“3318.txt”]/…/…/…/following-sibling::div[1],查看大小标签在 //span[text()=“3318.txt”]/…/…/… 下边第几个。这里是在 //span[text()=“3318.txt”]/…/…/… 下面第一个div

size = ('xpath' , '//span[text()="3318.txt"]/../../../following-sibling::div[1]')

preceding-sibling 与 following-sibling 用法一致,following-sibling上定位同级下面的标签,preceding-sibling定位同级上面的标签

四.结束语

以上定位是小编工作中自己总结,如有错误希望各位指出!

常用的xpath定位,通过一个元素去定位另一个元素,基本上能解决工作中所有定位相关推荐

  1. 当一个黑客去黑另一个黑客的电脑,会发生什么......

    是我当黑客以来接到的一项最具挑战性的生意,是去黑另一个黑客的电脑. 工欲善其事,必先利其器,我很明白现今装备的重要性,于是我把自己从头武装到脚,包装上了全黑的紧身夜行衣和戴上墨镜.这样我看起来就很黑很 ...

  2. 如何实现 一个系统去调用另一个系统的接口

    一.简介 在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求,本文提供一种解决方案供大家参考 二.实现springboot的接口调用 HashMap&l ...

  3. ccs用一个变量去替换另一个变量

    有个变量在很多地方用,而这个变量后来发现不合适,需要重新命名,又不想逐一更改,就用整体替换功能.快捷键用ctrl + H 在弹出的对话框中设置.

  4. 18100出多少取整_18个常用函数公式,解决工作中19%的问题-excel减法函数

    小伙伴们好啊,今天老祝要和大家分享一期常用Excel函数公式的用法,学会这些套路,让工作效率再高一丢丢. 1.IF函数条件判断 IF函数是最常用的判断类函数之一,能完成非此即彼的判断. 如下图,考核得 ...

  5. [19/06/05-星期三] CSS基础_样式表的位置(内联、内部、外部样式)、块元素(div)、内联元素(span)、常用的选择器...

    一.概念 CSS(Cascading Style Sheets,层叠样式表) 可以用来为网页创建样式表,通过样式表可以对网页进行装饰. 所谓层叠,就是可以将整个网页想象成是一层一层的结构,层次高的将会 ...

  6. mysql卡住如何定位_MySQL 5.7中如何定位DDL被阻塞的问题

    在配置文件中设置 [mysqld]performance-schema-instrument='wait/lock/metadata/sql/mdl=ON' 测试场景 下面结合一个简单的Demo,来看 ...

  7. 【软件测试】测试工程师。你工作中最常用的几种质量管理模型

    企业常见的几种技术质量管理模型 工作久了的软件测试工程师基本都有自己的工作套路了,他们或多或少会将这种套路传授给其他人,今天给大家分享的就是总结了一些测试精英的工作方法,看看他们在工作中是如何进行软件 ...

  8. appium + python 常用的xpath定位

    转载地址:https://www.cnblogs.com/yoyoketang/p/9174749.html 基本属性定位 以淘宝app为例,定位左上角扫一扫按钮 1.可以通过text文本定位到 // ...

  9. selenium点击元素位置_Selenium 八种元素定位方法

    前言: 我们在做WEB自动化时,最根本的就是操作页面上的元素,首先我们要能找到这些元素,然后才能操作这些元素.工具或代码无法像我们测试人员一样用肉眼来分辨页面上的元素.那么我们怎么来定位他们呢? 在学 ...

最新文章

  1. php 预订义变量,预约义变量 PHP
  2. 第三代测序之Pacific Biosciences
  3. 2021HDU多校第九场1008HDU7073 Integers Have Friends 2. 随机化
  4. influxdb数据过期_为什么腾讯QQ的大数据平台选择了InfluxDB数据库?
  5. Visual Studio 2019 v16.8 Preview 2 发布
  6. 剑指 Offer II 117. 相似的字符串
  7. 前端集合删除对象_【两万字】面试官:听说你精通集合源码,接我二十个问题!...
  8. Eclipse 常用快捷键和使用技巧
  9. 使用Redis+java(模仿数据库)实现对象存取和读取
  10. JAVA小白 编程练习500题 超详细!!!带答案!!!持续更新中~
  11. marlab中主成分得分怎么求_PCA(主成分分析) 和 SVD (奇异值分解)
  12. 协整理论与面板数据分析
  13. 王垠:对TAOCP的真正看法
  14. 心灵终结不显示服务器,红色警戒2心灵终结3.0常见问题及解决方法
  15. 手机 APP 安全登录的几种方式
  16. 品达通用_9. pd-tools-log
  17. R5 7640H参数 锐龙R57640H性能怎么样相当于什么水平级别
  18. Facenet 原理介绍
  19. 2.安装node-red
  20. 微信小程序App Page 模块化

热门文章

  1. 你是不是不知道视频添加贴纸怎么弄
  2. 独立项目-场景刷怪、小怪AI、主角战斗、小怪死亡-01
  3. sql in语句排序 INSTR函数排序用法 结果集list排序
  4. 牛X素材推荐之StackOverView
  5. 【R模型】R语言线性回归之简单线性回归模型 (一)
  6. 集中式版本控制与分布式版本控制——Git 学习笔记01
  7. 页面跳转路径出现;JSESSIONID=XXX的问题【前端VUE+后端JAVA】
  8. 微信小程序——动态样式设置
  9. 识别项目风险的7种方法
  10. python速成2——流程控制与基本数据结构