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文件操作整理汇总
Oct 21 Python
举例讲解Python的Tornado框架实现数据可视化的教程
May 02 Python
python 数据的清理行为实例详解
Jul 12 Python
浅谈python中copy和deepcopy中的区别
Oct 23 Python
Python实现的线性回归算法示例【附csv文件下载】
Dec 29 Python
Python操作Mongodb数据库的方法小结
Sep 10 Python
python使用 __init__初始化操作简单示例
Sep 26 Python
Python字节单位转换实例
Dec 05 Python
pytorch sampler对数据进行采样的实现
Dec 31 Python
python matplotlib库的基本使用
Sep 23 Python
Python join()函数原理及使用方法
Nov 14 Python
python中xlutils库用法浅析
Dec 29 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 cache类代码(php数据缓存类)
2010/04/15 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
2017/04/03 PHP
php+laravel依赖注入知识点总结
2019/11/04 PHP
Javascript var变量隐式声明方法
2009/10/19 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
vue 计时器组件的实现代码
2017/09/14 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
浅谈ROC曲线的最佳阈值如何选取
2020/02/28 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
HTML5跳转小程序wx-open-launch-weapp的示例代码
2020/07/16 HTML / CSS
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
次世代生活态度:Hypebeast
2018/07/05 全球购物
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
C/C++程序员常见面试题二
2015/11/19 面试题
电大毕业生自我鉴定
2013/11/10 职场文书
个人应聘自我评价分享
2013/11/18 职场文书
学校综治宣传月活动总结
2014/07/02 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
新闻人物通讯稿
2014/10/09 职场文书
施工单位工程部经理岗位职责
2015/04/09 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书
windows server2012 R2下安装PaddleOCR服务的的详细步骤
2022/09/23 Servers