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 相关文章推荐
python3.0 模拟用户登录,三次错误锁定的实例
Nov 02 Python
pycharm下查看python的变量类型和变量内容的方法
Jun 26 Python
python的依赖管理的实现
May 14 Python
Python实现获取系统临时目录及临时文件的方法示例
Jun 26 Python
numpy求平均值的维度设定的例子
Aug 24 Python
Python 脚本拉取 Docker 镜像问题
Nov 10 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
解决pytorch-yolov3 train 报错的问题
Feb 18 Python
解决django的template中如果无法引用MEDIA_URL问题
Apr 07 Python
python 给图像添加透明度(alpha通道)
Apr 09 Python
零基础小白多久能学会python
Jun 22 Python
python两种注释用法的示例
Oct 09 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
谈谈PHP语法(4)
2006/10/09 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
浅析vue深复制
2018/01/29 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
简化版的vue-router实现思路详解
2018/10/19 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python链接Oracle数据库的方法
2015/06/28 Python
numpy数组拼接简单示例
2017/12/15 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
Python基于WordCloud制作词云图
2019/11/29 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
制衣厂各岗位职责
2013/12/02 职场文书
学生党员思想汇报范文
2014/01/09 职场文书
小学优秀班干部事迹材料
2014/05/25 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
不同意离婚答辩状
2015/05/22 职场文书
结婚纪念日感言
2015/08/01 职场文书
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python
Redis的字符串是如何实现的
2021/10/24 Redis
MySQL数据库表约束讲解
2022/06/21 MySQL