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采集腾讯新闻实例
Jul 10 Python
Python多进程同步Lock、Semaphore、Event实例
Nov 21 Python
详解Python中的join()函数的用法
Apr 07 Python
Python设计模式之工厂模式简单示例
Jan 09 Python
python爬取m3u8连接的视频
Feb 28 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
Jun 05 Python
Django restframework 框架认证、权限、限流用法示例
Dec 21 Python
Python如何基于smtplib发不同格式的邮件
Dec 30 Python
使用Python爬取弹出窗口信息的实例
Mar 14 Python
python wsgiref源码解析
Feb 06 Python
教你怎么用Python操作MySql数据库
May 31 Python
python实现局部图像放大
Nov 17 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
截获网站title标签之家内容的例子
2006/10/09 PHP
常用的PHP数据库操作方法(MYSQL版)
2011/06/08 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
laravel model 两表联查示例
2019/10/24 PHP
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
validator验证控件使用代码
2010/11/23 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
2015/02/02 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
浅谈JavaScript中null和undefined
2015/07/09 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
Element Carousel 走马灯的具体实现
2020/07/26 Javascript
[07:54]DOTA2-DPC中国联赛 正赛 iG vs VG 选手采访
2021/03/11 DOTA
videocapture库制作python视频高速传输程序
2013/12/23 Python
Python写的一个简单DNS服务器实例
2014/06/04 Python
Python爬取读者并制作成PDF
2015/03/10 Python
Windows下为Python安装Matplotlib模块
2015/11/06 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
Python实现图片拼接的代码
2018/07/02 Python
解决Keras自带数据集与预训练model下载太慢问题
2020/06/12 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
护理实习自我鉴定
2013/12/14 职场文书
采购主管的岗位职责
2013/12/17 职场文书
安全大检查实施方案
2014/02/22 职场文书
投标文件签署授权委托书范本
2014/10/12 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS
进行数据处理的6个 Python 代码块分享
2022/04/06 Python