自动化的8种定位方式
自动化的8种定位方式
- 1、id属性
- 2、name属性
- 3、class属性
- 4、标签名
- 5 6 、链接元素 link_text #完全匹配 #模糊匹配
- 7 8、 xpath =ZZ 易懂 css = 难懂
- xpath定位
- 绝对定位 严格按照路径和位置来定位 以/开头 父/子关系
- 相对定位 参照物:整个html 只要在整个页面中,找到符合属性的元素,以//开头
- 7.1 //标签名[@属性名="属性值"] //input[@id="kw"] *匹配所有 //*[@id="kw"]
- 7.2 逻辑运算 and or //标签名[@属性名="属性值" and @属性名="属性值"] //input[@id="kw" and @name="wd"]
- 7.3 文本定位 //标签名[text()="文本内容"] #文本内容完全匹配 //a[text()="新闻"]
- 7.4 部分匹配 文本内容/属性值 contains
- 7.5.1 层级定位 第一种方式 //div[@id="ul"]//a[@name="tj_login"]
- 7.5.2 层级定位 - 轴定位 #表达式 /轴定位名称::标签名[属性表达]
- 轴名称
- 使用语法
- 例子
8种 定位方式
6种 是通过单一属性来定位的
2种 是组合各种属性来定位 + 结合各种关系来定位
1、id属性
ele = driver.find_element_by_id(“kw”) #找到id = kw的一个元素
#ele1= driver.find_elements_by_id(“kw”) #找到id = kw的所有的元素,返回一个列表
#print(ele.tag_name)
#print(ele.get_attribute(“class”))
2、name属性
driver.find_element_by_name(“phone”) #找一个单一的元素,从上放下,找到符合条件的第一个
driver.find_elements_by_name(“phone”) #找到所有匹配的元素,返回一个列表
3、class属性
driver.find_element_by_class_name()
driver.find_elements_by_class_name()
4、标签名
driver.find_element_by_tag_name(“lgfff”)
driver.find_elements_by_tag_name(“lgfff”)
5 6 、链接元素 link_text #完全匹配 #模糊匹配
driver.find_element_by_link_text(“更多产品”) #完全匹配
driver.find_elements_by_partial_link_text(“更多”) #模糊匹配
7 8、 xpath =ZZ 易懂 css = 难懂
xpath定位
driver.find_elements_by_xpath()
绝对定位 严格按照路径和位置来定位 以/开头 父/子关系
/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
相对定位 参照物:整个html 只要在整个页面中,找到符合属性的元素,以//开头
//*[@id=“kw”]
7.1 //标签名[@属性名=“属性值”] //input[@id=“kw”] 匹配所有 //[@id=“kw”]
driver.find_elements_by_xpath("//input[@id=“kw”]")
7.2 逻辑运算 and or //标签名[@属性名=“属性值” and @属性名=“属性值”] //input[@id=“kw” and @name=“wd”]
driver.find_elements_by_xpath("//input[@id=“kw” and @name=“wd”]")
7.3 文本定位 //标签名[text()=“文本内容”] #文本内容完全匹配 //a[text()=“新闻”]
driver.find_elements_by_xpath("//a[text()=“新闻”]")
7.4 部分匹配 文本内容/属性值 contains
//标签名[contains(text(),“部分文本内容”)] #文本内容太长 //[contains(text(),“我的”)]
//标签名[contains(@属性名,“部分属性值”)] #id(不变动+变动 如2020dhskafhald) #class 多个 //[contains(@id,“2020”)]
driver.find_elements_by_xpath("//[contains(text(),“我的”)])
7.5.1 层级定位 第一种方式 //div[@id=“ul”]//a[@name=“tj_login”]
后一个条件,是在前一个得到的结果之内去搜索的。//条件1//条件2…
7.5.2 层级定位 - 轴定位 #表达式 /轴定位名称::标签名[属性表达]
轴名称
ancestor:祖先节点,包含父节点和祖父节点
parent:父结点
preceding_sibling:当前节点标签前的所有兄弟节点
following_sibling:当前节点标签后的所有兄弟节点
following:当前节点标签后的所有节点
使用语法
/轴名称::节点名称 注:轴定位最好用单斜杠
例子
//span[text()=“哈哈”]/parent::div/following_sibling::div[@class=“attend_data_state”]//img
自动化的8种定位方式相关推荐
- android中几种定位方式详解
目录 前言: 1.GPS定位 2.NETWORK定位 3.AGPS定位 4.基站定位 5.WIFI定位 6.混合定位 目前,移动端大致通过三种方式来进行设备定位:GPS.基站.wifi.本文就详细的讲 ...
- python自动化测试xpath_selenium自动化测试:5.xpath八种定位方式
0.前言 如果可以的话,请先关注(专栏和账号),然后点赞和收藏,最后学习和进步.你的支持是我继续写下去的最大动力,个人定当倾囊而送,不负众望.谢谢!!! 1.前提 基于win10专业版64位系统+64 ...
- ios wifi 定位_iOS中三种定位方式
手机基站定位 原理 每个手机基站都有一个标识符,iPhone或3G iPad可以搜集周围所有收到信号的基站和它们的标识符,通过联网发送到苹果云端服务器,再由服务器根据这些基站的的位置信息查询并计算出当 ...
- 百度地图三种定位方式测试(高精度、低功耗、仅用设备)
百度地图三种定位方式测试(高精度.低功耗.仅用设备) Android定位SDK自v7.0版本起,按照附加功能不同,向开发者提供了四种不同类型的定位开发包,可根据不同需求,自有选择所需类型的开发包使用. ...
- Selenium八种定位方式
八种定位方式分别是:id.name.class name.tag name .link text.partial link textxpath.css selector. 元素标签或者元素属性:id. ...
- CSS中常用的几种定位方式
定位的基本语法: position:方式 top: 多少px; right: 多少px; left: 多少px; bottom: 多少px; 有常用的几种方式,如下: 第一种:相对定位 relativ ...
- 【CSS笔记】CSS布局之五种定位方式(静态、相对、绝对、固定、粘性)
目录 一.CSS定位布局 1.1.static静态定位 1.2.relative相对定位 1.3.fixed固定定位 1.4.absolute绝对定位 (1)默认绝对定位参考点 (2)设置绝对定位参考 ...
- GPS、WiFi、基站、蓝牙(iBeacon)、AGPS几种定位方式总结
1.GPS GPS(Global Positioning System)即全球定位系统,它是由美国研究的一种定位方式,特点是:不需要SIM卡,不需要连接网络,只要在户外,基本上就能随时随地的准确定位. ...
- CSS的四种定位方式
CSS的四种定位方式 1.静态定位: 设置方式为position: static;静态定位的盒子是标准流状态,用于取消定位.静态定位的盒子处于网页的最底层,并且top.left.bottom.righ ...
最新文章
- 深入了解java线程池
- OmniPeek与Sniffer比较区别
- windows下安装php性能分析工具XHProf(windows版本)
- Maven仓库搭建(一):一台HTTP服务器即可(Tomcat、Apache或Nginx)
- 依赖: ros-melodic-desktop 但是它将不会被安装_npm系列之依赖管理
- Hadoop sqoop
- 机器视觉的典型应用及领域分析
- SDL2源代码分析5:更新纹理(SDL_UpdateTexture())
- 微信小程序 java社区团购系统springboot
- Aiml中文包含英文(字母,特殊符号)识别问题的解决
- 使用 vue 开发一个简单的滑块拖动验证码
- 【工作记录】VRLe工作总结
- Mac剪切快捷键使用技巧
- 【密码学】Java课设-文件加密系统(适用于任何文件)
- Java应用CPU占用过高问题排查
- 华为浏览器html页样式没了,返回键没有了怎么办 华为手机没有返回键了怎么处理...
- JPA是什么?JPA怎么应用?为什么要用JPA
- 关于加密解密有哪些你需要知道知识?一篇文章告诉你
- 网络安全之蜜罐是什么?有哪些不同的类型?
- 红米note电信版_标注2014910_官方线刷包_救砖包_解账户锁