Selenium自动化测试-元素定位的八种方法,你知道的有几种?
大家好
我就是那个人见人爱,花见花开的阿里大叔
今天继续selenium系列
实例示范
即学即用
学成之后
你就是整条gai最靓的仔
这次我们要分享的是对元素的定位,在一个页面中有很多不同的策略来定位一个元素,我们选择最合适的方法即可。
一个页面最基本组成单元是元素,想要定位一个元素,我们需要特定的信息来说明这个元素的唯一特征。
selenium 主要提供了8种定位元素方法:
- find_element_by_id
- find_element_by_name
- find_element_by_link_text
- find_element_by_partial_link_text
- find_element_by_tag_name
- find_element_by_class_name
- find_element_by_css_selector
- find_element_by_xpath
我们先简单介绍浏览器怎么定位到元素上:
1.打开Chrome浏览器,按F12或浏览器右上角打开开发者工具。
(注:F12打不开的,看快捷键设置,比如Fn+F12打开)
2.打开开发者工具后,在开发者工具栏左上角点亮箭头,然后鼠标移动到想要定位的页面元素上,如图所示:
3.定位之后,就可以看到对应的元素属性信息了。
接下来依次介绍前6种定位方法:
1.find_element_by_id
id就像人的身份证一样,具有唯一性。当然,同一个页面发现两个相同的id也是有可能的,这取决于前端代码的规范程度。所以,通过id来查找元素相对可靠。
我们以百度页面的搜索框为例子,先定位到搜索框上,如下图:id=“kw”
接下来直接写代码,定位搜索框,且输入文本:
(补充:send_keys()表示模拟键盘输入文本)
运行之后,在搜索框输入了小胖虎,表示定位到了搜索框:
2.find_element_by_name
name定位和id定位类似,name就像人的名字一样,元素也会有name属性。
我们还是以百度搜索框为例,定位元素后发现, name="wd"。
<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">
复制
实现代码如下:
运行后,在百度搜索框输入小胖虎,定位成功。
3.find_element_by_link_text
link_text通过文本链接定位元素。
以百度页面的右上角的的文本链接为例:
定位到“hao123”链接上:
<a href="https://www.hao123.com" target="_blank" class="mnav">hao123</a>
复制
我们要取的是a标签中间的“hao123”。
运行之后,打开百度页面,然后点击hao123, 进入hao123页面。
补充:click()是指点击定位到元素之后,进行点击。
4.find_element_by_partial_link_text
partial_link_text方法和link_text类似,只不过是模糊匹配,有时候文本链接很长,我们截取文本的一部分进行定位即可,我们还是定位“hao123”链接元素:
<a href="https://www.hao123.com" target="_blank" class="mnav">hao123</a>
复制
截取“hao”或“123”进行定位,代码如下:
运行后,启动浏览器,打开百度页面,等待2秒钟,打开hao123页面,定位成功。
5.find_element_by_tag_name
tag_name 顾名思义就是tag(标签)属性。
<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">
<a href="https://www.hao123.com" target="_blank" class="mnav">hao123</a>
复制
上面的 input, a都叫标签,我们可以发现一个页面相同的标签很多。接下里我们用tag_name属性定位百度搜索框:
运行之后,发现报错了,是因为一个页面,相同的标签太多,想要定位到元素,必须具有唯一性,所以不太推荐使用tag name的方法。
6.find_element_by_class_name
class_name 通过类名定位。
百度搜索框为例,其中class="s_ipt"。
<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">
复制
代码如下:
运行成功后,启动浏览器,打开百度页面,搜索框输入小胖虎,定位成功!
总结:今天介绍的6种定位方法,id定位是最高效也是首选的方法,没有id属性的话,再选择其他定位方法。
好了 学习也就到此结束了 想了解更多相关知识请关注我吧!下面是小编想对读者大大们写的一封信哦! 记住要认真读哦!
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接免费拿走:————————————————
「学习资料 笔记 工具 文档领取」
扫描二维码,
备注“csdn999”
小姐姐邀你一起学习哦~~
和志同道合的测试小伙伴一起讨论测试技术
一定一定一定 要备注暗号:CSDN999
————————————————
Selenium自动化测试-元素定位的八种方法,你知道的有几种?相关推荐
- Selenium Webdriver元素定位的八种常用方式
在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下 ...
- 【转载保存】Selenium Webdriver元素定位的八种常用方式
转载地址:https://www.cnblogs.com/qingchunjun/p/4208159.html
- 自动化测试元素定位的8种方法:
自动化测试元素定位的8种方法: 1.通过id属性定位: find_element_by_id() 复数形式: find_elements_by_id() 2.通过name属性定位: find_elem ...
- [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)
转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...
- selenium八大元素定位方法
selenium八大元素定位方法 定位方式一 定位方式二 定位方式一 定位方式二 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与 ...
- selenium界面元素定位
一. Selenium界面元素定位 本文元素定位以das2为例 #导入包 from selenium import webdriver #打开火狐驱动 driver=webdriver ...
- python语法元素测试_基于python全局设置id 自动化测试元素定位过程解析
背景: 在自动化化测试过程中,不方便准确获取页面的元素,或者在重构过程中方法修改造成元素层级改变,因此通过设置id准备定位. 一.python准备工作: 功能:用自动化的方式进行批量处理. 比如,你想 ...
- 自动化无法定位的原因_Appium Android 自动化测试 -- 元素定位
自动化测试元素定位是难点之一,编写脚本时会经常卡在元素定位这里,有时一个元素能捣鼓一天,到最后还是定位不到. Appium 定位方式和 selenium 一脉相承,selenium 中的定位方式App ...
- 超全面整理,Selenium 八大元素定位方式,(建议收藏反复使用)
UI自动化测本质无非就是: 定位元素 -> 操作元素 -> 模拟页面动作 -> 断言结果 -> 生成测试报告. 所以我们做UI自动化的第一步就是定位元素,如果连元素都定位不到就 ...
最新文章
- rabbitmq安装完整版
- 二十四、爬取古诗网中的100首古诗文
- SVN 常用命令笔记
- swift3.0 post Json解析
- 《剑指Offer》 数值的整数次方
- 第二百五十八天 how can I 坚持
- android点击图片跳转页面底部,【报Bug】安卓底部选项卡webview模式下 点击跳转到某个页面后,会出现底部重叠的问题...
- Zabbix分布式监控系统使用总结
- Storm启动报错Internal Server Error
- STRING网站分析蛋白质相互作用
- Python_day04
- AD19绘制原理图(阻容,IC,排针)
- html中实现页面跳转代码怎么写,用JavaScript怎么实现页面跳转?
- MemSQL初体验 - 性能测试
- JavaScript和jQuery的基础知识和使用
- 好用的办公邮箱是提高工作效率的第一步
- Verilog语法之数学函数
- treeShaking和sideEffects详解
- JSFL 批量转化fla脚本文件
- 三极管电路共集、共基、共射的区别