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下载FTP上的文件夹的实现代码
Feb 10 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
Jul 23 Python
python在不同层级目录import模块的方法
Jan 31 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
Dec 14 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
Dec 24 Python
Python将视频或者动态图gif逐帧保存为图片的方法
Sep 10 Python
django admin 添加自定义链接方式
Mar 11 Python
Python3 selenium 实现QQ群接龙自动化功能
Apr 17 Python
Python基于traceback模块获取异常信息
Jul 23 Python
python绘制趋势图的示例
Sep 17 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
用基于python的appium爬取b站直播消费记录
Apr 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
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
2015/12/22 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
给localStorage设置一个过期时间的方法分享
2018/11/06 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
webpack常用配置总览(小结)
2019/11/18 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
Python 模板引擎的注入问题分析
2017/01/01 Python
安装python及pycharm的教程图解
2019/10/10 Python
Django model.py表单设置默认值允许为空的操作
2020/05/19 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
html+js 实现markdown编辑器效果
2019/10/23 HTML / CSS
泰国时尚电商:POMELO Fashion
2020/03/11 全球购物
会计助理的岗位职责
2013/11/29 职场文书
社区学习十八大感想
2014/01/22 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
2015年党性分析材料
2014/12/19 职场文书
试用期自我评价范文
2015/03/10 职场文书
护士岗位竞聘书
2015/09/15 职场文书
讨论nginx location 顺序问题
2022/05/30 Servers