UI自动化定位常用实现方法代码示例


Posted in Python onOctober 27, 2020

8大基础定位

  • driver.find_element_by_id() # id定位
  • driver.find_element_by_name() # name定位
  • driver.find_element_by_class_name() # class名称定位
  • driver.find_element_by_tag_name() # 标签定位
  • driver.find_element_by_xpath() # xpath定位
  • driver.find_element_by_css_selector() # css定位
  • driver.find_element_by_link_text() # a标签的文本定位
  • driver.find_element_by_partial_link_text() # a标签的局部文本定位

xpath定位

//*[]:// 相对定位 * 匹配任意标签

第一种:id\class\name\其他属性,精确匹配

driver.find_element_by_xpath("//*[@id='']") # id与id的值
driver.find_element_by_xpath("//*[@class='']") # class和class的值<br data-filtered="filtered">driver.find_element_by_xpath("//*[@name='']")

 # naem和值<br data-filtered="filtered">driver.find_element_by_xpath("//*[@shuxingming='']") # 属性名和值

第二种:模糊匹配\层级\索引\逻辑运算

模糊匹配:

driver.find_element_by_xpath("//*[contains(text(),'测试')]")

# 包含某些字符
driver.find_element_by_xpath("//*[starts-with(text(),'测试')]")

# 以某些字符开头
driver.find_element_by_xpath("//*[ends-with(text(),'测试')]")

# 以某些字符结尾
driver.find_element_by_xpath("//*[matchs(text(),'测试')]")

 # 正则匹配

层级:

driver.find_element_by_xpath("//*[@id='']/p")

索引:

driver.find_element_by_xpath("//*[@id='']/option[0]")

第三种:绝对定位

html/body/heard/div/divdiv/ul/li[2]/a 不推荐

css定位

第一种:id\class\标签名

#:id

.:class

driver.find_element_by_css_selector("#username") #id为username
driver.find_element_by_css_selector(".username") #class为username
driver.find_element_by_css_selector("iframe") #标签名为iframe

 第二种:

索引:

driver.find_element_by_css_selector("selet#nr>option:nth-child(1)") #标签名:nth-child(1)来定位子元素

层级:

driver.find_element_by_css_selector("selet#nr>option") #标签名:nth-child(1)来定位子元素

逻辑运算:

driver.find_element_by_css_selector("input#nr[id=''][class='']") #不用and连接,写在一起即可

定位多组元素

使用 find_elements ,结果为列表,使用下标索引方式取值

names=driver.find_elements_by_name("username")
print names[1]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python深入学习之上下文管理器
Aug 31 Python
Python序列之list和tuple常用方法以及注意事项
Jan 09 Python
win10下python3.5.2和tensorflow安装环境搭建教程
Sep 19 Python
python 获取sqlite3数据库的表名和表字段名的实例
Jul 17 Python
python中property属性的介绍及其应用详解
Aug 29 Python
基于python实现雪花算法过程详解
Nov 16 Python
使用NumPy读取MNIST数据的实现代码示例
Nov 20 Python
numpy.transpose()实现数组的转置例子
Dec 02 Python
简单了解为什么python函数后有多个括号
Dec 19 Python
利用python3 的pygame模块实现塔防游戏
Dec 30 Python
django ORM之values和annotate使用详解
May 19 Python
python中os.remove()用法及注意事项
Jan 31 Python
基于python获取本地时间并转换时间戳和日期格式
Oct 27 #Python
如何在pycharm中安装第三方包
Oct 27 #Python
Python操控mysql批量插入数据的实现方法
Oct 27 #Python
python 对一幅灰度图像进行直方图均衡化
Oct 27 #Python
Pycharm操作Git及GitHub的步骤详解
Oct 27 #Python
python 爬虫如何正确的使用cookie
Oct 27 #Python
python+requests实现接口测试的完整步骤
Oct 27 #Python
You might like
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
自制PHP框架之设计模式
2017/05/07 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
jQuery实现鼠标经过时出现隐藏层文字链接的方法
2015/10/12 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
Bootstrap进度条组件知识详解
2016/05/01 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
2016/05/13 Javascript
微信js-sdk上传与下载图片接口用法示例
2016/10/12 Javascript
jQuery简单自定义图片轮播插件及用法示例
2016/11/21 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
angular动态表单制作
2018/02/23 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
vue打开新窗口并实现传参的图文实例
2021/03/04 Vue.js
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
Django ORM 聚合查询和分组查询实现详解
2019/08/09 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
WxPython实现无边框界面
2019/11/18 Python
解决Tensorboard 不显示计算图graph的问题
2020/02/15 Python
python实现UDP协议下的文件传输
2020/03/20 Python
Python super()方法原理详解
2020/03/31 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
中文专业毕业生自荐书范文
2014/01/04 职场文书
报告会主持词
2014/04/02 职场文书
环保公益策划方案
2014/08/15 职场文书
党员个人剖析材料
2014/09/30 职场文书
JavaScript中isPrototypeOf函数
2021/11/07 Javascript
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技