关于selenium的8种元素定位
selenium中有八种元素定位,分别是:id,name,class_name,tag_name,link_text、partial_link_text、xpath、css
简单的定位可以用id、name、class_name、tag_name
等,如果遇到复杂的元素需要定位则要使用xpath、或者css定位
下面是每种定位的用法——拿百度来说
1、id——定位到百度的输入框,可以看到百度的输入框id是唯一的,具体可以看下图
在pycharm中,语句是:driver.find_element_by_id("kw").send_keys("selenium")
send_keys
表示在输入框中输入文本
2、name——还是以百度输入框为例,可以看出百度输入框的name属性也是唯一的
在pycharm 中语句是:
#Python学习交流QQ群:778463939
driver.find_element_by_name("wd").send_keys("selenium")
3、class_name——“百度一下”按钮,可以看出这个的class_name 是唯一的
在pycharm中的语句是:driver.find_element_by_class_name("bg s_btn").click()
4、tag_name——标签名称
这个方法很少用到,一般用xpath/css比较多
5、link_text——用来定位文本链接的
比如定位百度中的新闻:driver.find_element_by_link_text("新闻").click()
6、partial_link_text:和link_text 相似,唯一不同的是定位部分文本
如:点击hao123——driver.find_element_by_partial_link_text("hao").click()
7、xpath
(1)用xpath对标签内的属性进行定位(id、name、class)
方法://标签名[@属性=“属性名”] 双引号也可以用单引号表示
当某个元素的属性不是唯一的时候,需要采用组合的方式定位:"//标签名[@属性=‘属性名’ and @属性=‘属性名’]"
(2)用text()方法定位
//标签名[text()=“XXXX”]
(3)模糊定位——contains()方法定位
//标签名[contains(@属性,“属性值”)]
(4)轴定位
通过轴定位定位“百度一下”按钮 首先定位到这个按钮,可以看到这是个input标签,input标签的父元素是span标签,span标签的父元素是form标签,那么我们可以从form标签开始定位然后通过descendant来找到它的后代input
//form[@id='form']/descendant::input[@id='su']
通过following 来定位——following 表示标签节点之后
//span[@id='s_kw_wrap']/following::input[@id='su']
//span[@id='s_kw_wrap']
表示定位到id属性为s_kw_wrap
的<span>
标签,/following::input[@id='su']
表示找到<span>
结束标签(即</span>
)后的所有input
标签,然后通过[@id='su']
精准定位到id属性为’su’的<input>
标签
parent::可指定要查找的当前节点的直接父节点,例如,父节点是个
div
,即可写成parent::div
,如果要找的元素不是直接父元素,则不可使用parent
,可使用ancestor
,代表父辈、祖父辈等节点;child::表示直接子节点元素
following-sibling只会标识出当前节点结束标签之后的兄弟节点,而不包含其他子节点
关于selenium的8种元素定位相关推荐
- selenium基础八种元素定位
# coding:utf-8 from selenium import webdriver # 导入webdriver框架 import time # 导入time 功能driver = webdri ...
- selenium自动化测试——常见的八种元素定位方法
selenium常用的八种元素定位方法 1.通过 id 定位:find_element_by_id() 2.通过 name 定位:find_element_by_name() 3.通过 tag 定位: ...
- 整理的selenium WebDriver提供的8种元素定位方法
selenium WebDriver提供的8种元素定位方法: (1)find_element_by_id() :id 定位 ,顾名思义,就是通过标签的id属性值来定位元素 (2) find_eleme ...
- Selenium自动化测试:8种元素定位+unittest框架设计
作者简介: 笔名,唐米.参与过汇丰银行,国家电网,中国电信等多个大型项目的研发和管理,擅长的技术领域为安全测试,性能测试,自动化框架搭建与维护,曾受南京航空航天大学邀请分享Linux.oracle等测 ...
- 自动化测试:Selenium8种元素定位+unittest框架设计
作者简介: 笔名,软件测试君.参与过汇丰银行,国家电网,中国电信等多个大型项目的研发和管理,擅长的技术领域为安全测试,性能测试,自动化框架搭建与维护,曾受南京航空航天大学邀请分享Linux.oracl ...
- selenium学习笔记之元素定位
selenium学习笔记之元素定位 Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样. 首先需要创建浏览器驱动: from sele ...
- 自动化(二)——八种元素定位方法
自动化(二) 一.元素定位 1)如何元素定位 二.元素定位方式 1)id定位 2)name定位 3) class_name定位 4) tag_name定位 5) link_text以及partial_ ...
- selenium点击元素位置_Selenium 八种元素定位方法
前言: 我们在做WEB自动化时,最根本的就是操作页面上的元素,首先我们要能找到这些元素,然后才能操作这些元素.工具或代码无法像我们测试人员一样用肉眼来分辨页面上的元素.那么我们怎么来定位他们呢? 在学 ...
- Selenium—八种元素定位方法
前言: 在学习元素定位之前,我们最好能懂一点html的知识.我们要能找到这些元素,然后才能操作这些元素.工具或代码无法像我们测试人员一样用肉眼来分辨页面上的元素. 一.查看页面元素 用谷歌浏览器打开百 ...
最新文章
- __slots__(面向对象进阶)
- 在Android Studio中有六种依赖
- 【干货】2015,后微信时代的社交产品市场展望
- .NET实现SOA(1)
- bbs php redis,LAMP+redis搭建discuz论坛
- Linux 死机了怎么办
- 第一批“绿牌”汽车终于要换电池了,看到价格后,你还要买吗?
- 分布式微服务开发_想要精通分布式微服务架构?你得先学会设计、原理与实战...
- 自动跳动滑动门html,jQuery 滑动门自动滑动实现代码
- 一路走来之“华为网络技术大赛”(新含2018年资料)
- linux使用du命令查看文件夹大小(磁盘使用情况)
- ZigBee空气质量监测系统设计
- 关于阿里直播 安卓手机支付宝不支持的处理
- [爱分享]jeecms基础+导航条+例子分析
- Java工具类之String类
- 计算机五大核心部分详解、计算机三大核心硬件、操作系统简介、编程与编程语言、python解释器简介
- 计算机工程学院迎新生,计算机工程学院举办“青春相约,梦想同行”迎新晚会...
- js计算金额精度问题--currency.js(2022.11.10 阴)
- 欧拉(Euler)定理
- 华为od统一考试B卷【5键键盘】Java 实现
热门文章
- 终身学习这件事,比你想的还要重要
- fio 是测试磁盘性能的最佳工具
- 2011年最新使用CSS3实现各种独特悬浮效果的教程
- Type对象获得泛型类型的两个扩展方法
- [转]默认构造函数的作用
- python查询结果写入excel_python实现查询的数据写入到excel
- ip pim spare 源树 和 共享树_iPhone通过内置应用与电脑传输共享文件指南
- LOAD_TYPE_VERSION_MISMATCH与TYPELOAD_NEW_VERSION错误分析
- 4、Power Map—实例:演示报告封面
- 33、Power Query-统计员工完成业绩的记录