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 ZipFile模块详解
Nov 01 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
Python数据结构之单链表详解
Sep 12 Python
pandas数据预处理之dataframe的groupby操作方法
Apr 13 Python
python获取程序执行文件路径的方法(推荐)
Apr 26 Python
Python爬虫包BeautifulSoup实例(三)
Jun 17 Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 Python
python对文件的操作方法汇总
Feb 28 Python
python如何删除文件、目录
Jun 23 Python
Python+logging输出到屏幕将log日志写入文件
Nov 11 Python
Python爬虫爬取ts碎片视频+验证码登录功能
Feb 22 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
May 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
国王的咖啡这么大来头,名字的由来是什么
2021/03/03 咖啡文化
php调用mysql存储过程实例分析
2014/12/29 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
java、javascript实现附件下载示例
2014/08/14 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
ajax图片上传,图片异步上传,更新实例
2016/12/30 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
vue单页面应用打开新窗口显示跳转页面的实例
2018/09/21 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
如何解决jQuery 和其他JS库的冲突
2020/06/22 jQuery
js实现纯前端压缩图片
2020/11/16 Javascript
Python学习入门之区块链详解
2017/07/25 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
python实现电子书翻页小程序
2019/07/23 Python
在python shell中运行python文件的实现
2019/12/21 Python
python三引号如何输入
2020/07/06 Python
CSS3动画和HTML5新特性详解
2020/08/31 HTML / CSS
诗普兰迪官方网站:Splendid
2018/09/18 全球购物
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
linux比较文件内容的命令是什么
2013/03/04 面试题
电子信息科学专业自荐信
2014/01/30 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
雨花台导游词
2015/02/06 职场文书
针对吵架老公保证书
2015/05/08 职场文书
读书笔记怎么写
2015/07/01 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android