——————·今天距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定位及如何确定元素唯一相关推荐

  1. Selenium自动化测试-JavaScript定位

    ------·今天距2020年37天·------ 这是ITester软件测试小栈第83次推文 做自动化过程中,会发现有的按钮点击不了,或者点击没有反应,也没有报错,或者不能处理滚动条等场景,我们可以 ...

  2. Selenium自动化测试-设置元素等待

    ------·今天距2020年54天·------ 这是ITester软件测试小栈第75次推文 selenium中有三种时间等待: 强制等待:sleep 隐式等待:implicitly_wait 显示 ...

  3. Selenium自动化测试-8.iframe处理

    ------·今天距2020年75天·------ 这是ITester软件测试小栈第61次推文 大家好 我是vivi小胖虎 听说很多城市最近的气温急转直下 在生活和行业寒冬的双重夹击中 身心灵与肉都饱 ...

  4. Selenium自动化测试-7.获取元素属性信息

    ------·今天距2020年76天·------ 这是ITester软件测试小栈第60次推文 大家好 我是vivi小胖虎 做自动化测试 往往避免不了 获取元素信息 获取元素属性 获取元素状态 今天就 ...

  5. Selenium自动化测试-6.鼠标键盘操作

    ------·今天距2020年77天·------ 这是ITester软件测试小栈第59次推文 大家好 我是vivi小胖虎 作为测试 好像对于点点点这事一直放不下 如何让点点点变得更简单 让人变得更懒 ...

  6. Selenium自动化测试-5.脚本录制神器Katalon Recorder

    ------·今天距2020年79天·------ 这是ITester软件测试小栈第57次推文 大家好 我是vivi小胖虎 作为一个低调逗逼的鼠标工程师 我当然想教你们平易近人的野路子啊 一顿操作只需 ...

  7. Selenium自动化测试系列文章汇总

    selenium系列文章汇总 Selenium自动化测试-selenium介绍及环境安装 Selenium自动化测试-浏览器基本操作 Selenium自动化测试-元素定位(1) Selenium自动化 ...

  8. Selenium自动化测试-3.元素定位(3)

    ------·今天距2020年81天·------ 这是ITester软件测试小栈第55次推文 大家好 我是vivi小胖虎 前面已经介绍过7种元素定位方法 相信这些积攒堆积起来的技巧 都会在实际工作时 ...

  9. Selenium自动化测试-3.元素定位(2)

    ------·今天距2020年82天·------ 这是ITester软件测试小栈第54次推文 大家好 我是vivi小胖虎 今天我们学习xpath定位元素 如果你告诉我 不是你不想用selenium做 ...

最新文章

  1. 【学习——字符串】字符串之一网打尽quq
  2. Android开发 - 掌握ConstraintLayout(四)创建基本约束
  3. Python入门100题 | 第040题
  4. 【转】怎样判断自己掌握了学到的新知识
  5. JavaScript的10种跨域共享的方法
  6. Redhat 6.8部署oracle 12c
  7. 全国计算机二级等级考试项目有什么,全国计算机等级考试二级内容
  8. 三星Galaxy S22首发!4nm旗舰芯Exynos 2200跑分出炉
  9. mongodb数据库安装和启动及操作笔记
  10. 我想自己写一个扫雷,用Python
  11. 钉钉开放平台查询宜搭表单实例数据
  12. 如何在手机上访问自己写的网页?
  13. 程序员的自我进化:学习之道,如何更有效的学习
  14. html5 bdi 不起作用,html bdi标签的使用详解
  15. 对抗训练-smart 论文阅读笔记
  16. VC2010 无法启动程序 系统找不到指定文件
  17. VBA基础知识整理(文本文件操作)
  18. 用Python爬取手机壁纸,太简单了吧
  19. Python入门学习笔记2
  20. 惠普计算机开机滴滴响,HP电脑一开机就出现报警声是怎么回事?谁说一下?

热门文章

  1. Git分支 and PullFetchMerge
  2. ll按时间排序和查看目录下文件数
  3. cocos2d-x之悦动的小球
  4. C++中依赖受限名称定义编译无法通过的问题
  5. 随想录(35岁后的程序员)
  6. 商品管理后台html,商品类型管理.html
  7. oracle 函数 实现重载_Oracle 过程、函数、包、重载、自主事务
  8. vb把窗体嵌入桌面底层_桌面透明便签插件便签软件
  9. pyspider all 只启动了_我是如何让微博绿洲的启动速度提升30%的(二)
  10. Android ble covana,Android BLE低功耗蓝牙开发