三天精通Selenium Web 自动化 - 如何找到元素

news/2024/7/7 23:22:42

1. 什么是元素?

元素:HTML 元素

2. 定位方式解析

Selenium WebDriver 提供一个先进的技术来定位 web 页面元素。Selenium 功能丰富的API 提供了多个定位策略如:Name、ID、CSS 选择器、XPath 等等,如下图所示:

一般会用ID来定位,因为它是唯一的,xpath也比较通用,火狐浏览器插件:firepath和firebug是快速给出元素的xpath。

另外JQuery也是很好的定位方法

2.1 通过jQuery来定位元素

jQuery提供了find方法,来快速查找页面元素,但此方法也仅限使用了jquery库的页面。

2.1.1 如何判别页面使用了jQuery

打开火狐浏览器,输入谷歌地址:https://www.google.com.hk/,按F12调出控制台,接着在最下面的箭头处输入:“jQuery”,然后回车:

  • 若控制台会返回:“function(e, t)” 这就表明此页面适用了jQuery库。
  • 若控制台会返回错误提示:ReferenceError:jQuery is not defined 这就证明当前的页面没有适用到jQuery库

代码如下:

 View Code

 自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!


http://lihuaxi.xjx100.cn/news/1886856.html

相关文章

Spring和Spring Boot和Spring Cloud

Spring框架中的Bean注解: Component:这是一个通用的组件扫描标记,用于将类标记为Spring Bean。这使得Spring能够自动检测和管理这些类。通常与ComponentScan配合使用来指定需要扫描的包。 Service:这是Component的一个特殊变体&a…

Python三种方法实现topk问题(源码)

# topK问题 数组中有n个元素求前k个最大的数 # 1. 快排或小顶堆排n个数 返回前k个数 --- 时复为O(nnlog_2nk) # 2. 第一次优化:首先根据n数组建立一个大顶堆 每次获取arr[0](并将其移除) 原地移除的方法是将arr[0]与arr[-1]对调 后在arr[0:-1)时向下调整法 反复上…

openEuler 20.03 (LTS-SP2) aarch64 cephadm 部署ceph18.2.0【5】 添加osd存储节点

接上篇 openEuler 20.03 (LTS-SP2) aarch64 cephadm 部署ceph18.2.0【1】离线部署 准备基础环境-CSDN博客 openEuler 20.03 (LTS-SP2) aarch64 cephadm 部署ceph18.2.0【2】离线部署 podman配置registries 部署registry私服 准备离线镜像-CSDN博客 openEuler 20.03 (LTS-SP2…

mumu模拟器,adb devices 忽然就不显示设备解决方法

依次执行以下 adb kill-server adb start-server adb devices

HTML行内元素与块级元素的区别

目录 行内元素&#x1f338;常见的行内元素&#x1f338;行内元素&#xff08;内联元素&#xff09;的特性 块级元素&#x1f338;常见的块级元素&#x1f338;块级元素的特性 相互转换(display)&#x1f338;行内块状元素的特性 行内元素 &#x1f338;常见的行内元素 <s…

[原创] FPGA的JTAG烧录不稳定或烧录失败原因分析

一、电路故障背景 打板回来常会出现烧录不良&#xff0c;调试是一个技术活&#xff0c;如果烧录不过关&#xff0c;一切白搭。 二、常见JTAG故障原因如下&#xff1a; 1、ESD防护器件焊接不良&#xff1b; 电路板给生产部分焊接&#xff0c;发现元器件虚焊&#xff0c;特别是…

FIO QD参数与Linux IO路径的关联

在Linux中&#xff0c;当使用fio工具测试存储设备的性能时&#xff0c;QD&#xff08;Queue Depth&#xff09;参数对应的是I/O调度器&#xff08;I/O Scheduler&#xff09;和块设备层中的请求队列。 I/O 调度器&#xff1a; I/O 调度器是内核的一部分&#xff0c;负责管理来自…

C语言中的柔性数组

uint8_t data[0];代码的含义老虎开始对这个数组不太了解&#xff0c;查阅后得知这是个柔性数组。 C语言中的柔性数组&#xff08;Flexible Array Member&#xff09;是一种特殊的数组&#xff0c;它被定义在结构体的最后一个元素中&#xff0c;其大小未知&#xff0c;也就是所…