Selenium自动化测试-4.By定位及如何确定元素唯一
——————·今天距2020年80天·——————
这是ITester软件测试小栈第56次推文
大家好
我是vivi小胖虎
今天是周六
然而又是上班的一天
不管怎样
学习的心态总是要有的
争取早日当上大佬
然后自己在家当老大
梦想还是要有的
万一实现了呢
在上一篇:Selenium自动化测试-元素定位(3),我们认识了css定位。到此为止,已经了解了元素的8种定位方法,今天我们要介绍的是By定位及如何确定元素唯一。
什么是By定位?
(1)有时候我们不知道用哪种方法来定位元素,By定位可以根据实际场景设定定位策略。
(2)By定位和之前学习的8种定位方法差不多,只不过是写法上的不同。
(3)使用By定位,首先需要导入By类:
from selenium.webdriver.common.by import By
语法如下:
定位方式 | 定位单个元素 |
id定位 | find_element(By.ID,"id") |
class定位 | find_element(By.CLASS_NAME,"class") |
name定位 | find_element(By.NAME,"name") |
tag定位 | find_element(By.TAG_NAME,"tag") |
xPath定位 | find_element(By.XPATH,"xPath") |
Link定位 | find_element(By.LINK_TEXT,"text") |
PartialLink定位 | find_element(By.PARTIAL_LINK_TEXT,"partialText") |
CSS选择器定位 | find_element(By.CSS_SELECTOR,"css") |
我们以百度搜索框为例,看下用By定位是怎么写的。
由此可见,By定位只是把8种定位统一成一个写法。
如果觉得导入By类麻烦,又想把8种写法统一起来,有办法么,当然,我们接下来介绍简化版的:
By.ID = 'id'
By.NAME = 'name'
By.LINK_TEXT = 'link text'
By.PARTIAL_LINK_TEXT = 'partial link text'
By.TAGE_NAME = 'tag name'
By.CLASS_NAME = 'class name'
By.CSS_SELECTOR = 'css selector'
By.XPATH = 'xpath'
用百度搜索框为例,写简化版的定位。
是不是发现,这种写法更方便呢?
定位元素的唯一性
我们在写自动化脚本过程中,会遇到因为元素不是唯一导致定位元素失败的场景,那么我们可以先确定此元素是否唯一,再来定位元素。
一、在源码中查找
以百度搜索框为例:
1.浏览器打开开发者模式(F12),定位到百度搜索框上,发现源码如下:
<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">
2.在css定位中讲过,class="s_ipt"、id="kw",css定位可以写成input.s_ipt,input#kw,
那么快捷键Crtl+F,在开发者工具左下角搜索框输入input.s_ipt 或 input#kw,回车进行搜索:
3.搜索到了会高亮显示,发现只有一条结果,那么我们可以确定这个元素是唯一的,放心的定位了。有时候也会搜索出多个结果,这个时候我们回车键依次查看,元素是否唯一。
二、在控制台查找
在控制台console中确定元素的唯一,主要是使用JavaScript获取HTML DOM元素的方法,语法如下:
id 获取:document.getElementById()
class 获取:document.getElementsByClassName()
name 获取:document.getElementsByName()
tag 获取:document.getElementsByTagName()
css获取:document.querySelector()
1.在开发者工具中,切换到console一栏,如下:
2.以百度浏览器输入框为例:
<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">
其中id="kw",那么可以写成document.getElementById('kw')
在console下输入document.getElementById('kw'),然后回车。
只返回了一条数据,且是我们要查找的元素,那么我们可以确定此元素是唯一的,可以放心的定位了。
下一篇我们将介绍一款定位神器,敬请期待~
最后是今天的分享:SoapUI接口测试视频及电子文档
ITester软件测试小栈今日分享
分享内容
SoapUI接口测试视频及电子文档
领取方式
微信公众号后台回复:20191012
有图有真相
以上
That‘s all
ITester软件测试小栈
往期内容宠幸
叮—这有一打让你666的测试终极资料包,请查收!
QQ空间面试题放送,速度教科书式扑街补救offer!
金九银十加薪季,测试题预热一波。
Selenium自动化测试-1.selenium介绍及环境安装
Selenium自动化测试-2.浏览器基本操作
Selenium自动化测试-3.元素定位(1)
Selenium自动化测试-3.元素定位(2)
Selenium自动化测试-3.元素定位(3)
速看,APP测试之ADB最全指南!
APP测试之Monkey压力测试(一)
APP测试之Monkey压力测试(二)
快来星标 置顶 关注我
T ester
想要获取相关资料和软件 ?
Q群:701841415
Selenium自动化测试-4.By定位及如何确定元素唯一相关推荐
- Selenium自动化测试-JavaScript定位
------·今天距2020年37天·------ 这是ITester软件测试小栈第83次推文 做自动化过程中,会发现有的按钮点击不了,或者点击没有反应,也没有报错,或者不能处理滚动条等场景,我们可以 ...
- Selenium自动化测试-设置元素等待
------·今天距2020年54天·------ 这是ITester软件测试小栈第75次推文 selenium中有三种时间等待: 强制等待:sleep 隐式等待:implicitly_wait 显示 ...
- Selenium自动化测试-8.iframe处理
------·今天距2020年75天·------ 这是ITester软件测试小栈第61次推文 大家好 我是vivi小胖虎 听说很多城市最近的气温急转直下 在生活和行业寒冬的双重夹击中 身心灵与肉都饱 ...
- Selenium自动化测试-7.获取元素属性信息
------·今天距2020年76天·------ 这是ITester软件测试小栈第60次推文 大家好 我是vivi小胖虎 做自动化测试 往往避免不了 获取元素信息 获取元素属性 获取元素状态 今天就 ...
- Selenium自动化测试-6.鼠标键盘操作
------·今天距2020年77天·------ 这是ITester软件测试小栈第59次推文 大家好 我是vivi小胖虎 作为测试 好像对于点点点这事一直放不下 如何让点点点变得更简单 让人变得更懒 ...
- Selenium自动化测试-5.脚本录制神器Katalon Recorder
------·今天距2020年79天·------ 这是ITester软件测试小栈第57次推文 大家好 我是vivi小胖虎 作为一个低调逗逼的鼠标工程师 我当然想教你们平易近人的野路子啊 一顿操作只需 ...
- Selenium自动化测试系列文章汇总
selenium系列文章汇总 Selenium自动化测试-selenium介绍及环境安装 Selenium自动化测试-浏览器基本操作 Selenium自动化测试-元素定位(1) Selenium自动化 ...
- Selenium自动化测试-3.元素定位(3)
------·今天距2020年81天·------ 这是ITester软件测试小栈第55次推文 大家好 我是vivi小胖虎 前面已经介绍过7种元素定位方法 相信这些积攒堆积起来的技巧 都会在实际工作时 ...
- Selenium自动化测试-3.元素定位(2)
------·今天距2020年82天·------ 这是ITester软件测试小栈第54次推文 大家好 我是vivi小胖虎 今天我们学习xpath定位元素 如果你告诉我 不是你不想用selenium做 ...
最新文章
- 【学习——字符串】字符串之一网打尽quq
- Android开发 - 掌握ConstraintLayout(四)创建基本约束
- Python入门100题 | 第040题
- 【转】怎样判断自己掌握了学到的新知识
- JavaScript的10种跨域共享的方法
- Redhat 6.8部署oracle 12c
- 全国计算机二级等级考试项目有什么,全国计算机等级考试二级内容
- 三星Galaxy S22首发!4nm旗舰芯Exynos 2200跑分出炉
- mongodb数据库安装和启动及操作笔记
- 我想自己写一个扫雷,用Python
- 钉钉开放平台查询宜搭表单实例数据
- 如何在手机上访问自己写的网页?
- 程序员的自我进化:学习之道,如何更有效的学习
- html5 bdi 不起作用,html bdi标签的使用详解
- 对抗训练-smart 论文阅读笔记
- VC2010 无法启动程序 系统找不到指定文件
- VBA基础知识整理(文本文件操作)
- 用Python爬取手机壁纸,太简单了吧
- Python入门学习笔记2
- 惠普计算机开机滴滴响,HP电脑一开机就出现报警声是怎么回事?谁说一下?
热门文章
- Git分支 and PullFetchMerge
- ll按时间排序和查看目录下文件数
- cocos2d-x之悦动的小球
- C++中依赖受限名称定义编译无法通过的问题
- 随想录(35岁后的程序员)
- 商品管理后台html,商品类型管理.html
- oracle 函数 实现重载_Oracle 过程、函数、包、重载、自主事务
- vb把窗体嵌入桌面底层_桌面透明便签插件便签软件
- pyspider all 只启动了_我是如何让微博绿洲的启动速度提升30%的(二)
- Android ble covana,Android BLE低功耗蓝牙开发