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类和函数中使用静态变量的方法
May 09 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
在pycharm中python切换解释器失败的解决方法
Oct 29 Python
python实现给scatter设置颜色渐变条colorbar的方法
Dec 13 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
10招!看骨灰级Pythoner玩转Python的方法
Apr 15 Python
利用selenium爬虫抓取数据的基础教程
Jun 10 Python
python实现DEM数据的阴影生成的方法
Jul 23 Python
python elasticsearch从创建索引到写入数据的全过程
Aug 04 Python
PyCharm常用配置和常用插件(小结)
Feb 06 Python
Python3+Django get/post请求实现教程详解
Feb 16 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字符串的连接的简单实例
2013/12/30 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
setAttribute 与 class冲突解决
2008/02/17 Javascript
iframe的父子窗口之间的对象相互调用基本用法
2013/09/03 Javascript
在javascript中实现函数数组的方法
2013/12/25 Javascript
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
jQuery中first()方法用法实例
2015/01/06 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
2018/04/21 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
JS寄快递地址智能解析的实现代码
2020/07/16 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
Django开发中的日志输出的方法
2018/07/02 Python
对python中的高效迭代器函数详解
2018/10/18 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
Python底层封装实现方法详解
2020/01/22 Python
俄罗斯电子产品在线商店:UltraTrade
2020/01/30 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
董事长职责范文
2013/11/08 职场文书
初中数学教学反思
2014/01/16 职场文书
颁奖晚会主持词
2014/03/25 职场文书
儿童生日会策划方案
2014/05/15 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
导游词之湖北武当山
2019/09/23 职场文书
Filebeat 采集 Nginx 日志的方法
2021/03/31 Servers
《勇者辞职不干了》上卷BD发售宣传CM公开
2022/04/08 日漫