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设置socket代理的方法
Jan 14 Python
python实现将汉字转换成汉语拼音的库
May 05 Python
Python使用wxPython实现计算器
Jan 30 Python
Python实现针对给定字符串寻找最长非重复子串的方法
Apr 21 Python
windows下python安装小白入门教程
Sep 18 Python
Python中的枚举类型示例介绍
Jan 09 Python
Python3模拟curl发送post请求操作示例
May 03 Python
Python基础学习之时间转换函数用法详解
Jun 18 Python
pycharm如何实现跨目录调用文件
Feb 28 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
Mar 03 Python
Python如何在循环内使用list.remove()
Jun 01 Python
详解Python类和对象内容
Jun 22 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下载远程文件类(支持断点续传)
2008/11/14 PHP
php清除和销毁session的方法分析
2015/03/19 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
js实现全国省份城市级联下拉菜单效果代码
2015/09/07 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
[49:56]VG vs Optic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
Python 用Redis简单实现分布式爬虫的方法
2017/11/23 Python
Django的分页器实例(paginator)
2017/12/01 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
2019/02/25 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
联想英国官网:Lenovo英国
2019/07/17 全球购物
大学生个人简历自我评价
2013/11/16 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
职业培训师职业生涯规划
2014/02/18 职场文书
大学活动总结格式
2014/04/29 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
2016年政治理论学习心得体会
2016/01/25 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js