Selenium定位元素的方法css和xpath的区别!

selenium是一种自动化测试工具,它可以通过不同的定位方式来识别网页上的元素,如id、name、class、tag、link text、partial link text、css和xpath。

css和xpath是两种常用的定位方式,它们都可以通过元素的属性或者层级关系来定位元素,但是它们也有一些区别:

css:

  • css是级联样式表,它用于给HTML网页的不同元素添加样式。

  • css定位器可以直接用元素的id、class或者标签来定位,如#id、.class或者tag。

  • css也可以通过其他属性来定位,如[name=‘value’]或者[type=‘text’]。

  • css还可以通过层级关系来定位,如form#form>span>input表示选择form元素下id为form的子元素下span元素下的input元素。

  • css还可以通过索引来定位,如option:nth-child(1)表示选择第一个option子元素。

  • css还可以通过模糊匹配来定位,如input:contains(‘kw’)表示选择包含kw的input元素。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:310357728【暗号:csdn888】

xpath:

xpath是XML文档中查找节点的语法,它可以通过元素的路径来查找元素。

xpath定位器可以通过元素的任何属性来定位,如[@id=‘value’]或者[@name=‘value’]。

xpath也可以通过标签和属性的组合来定位,如input[@id=‘kw’]表示选择input标签且id为kw的元素。

xpath还可以通过层级关系来定位,如//div[@id=‘china’]/p表示选择div元素下id为china的子元素下的所有p元素。

xpath还可以通过索引来定位,如option1表示选择第一个option子元素

xpath还可以通过模糊匹配来定位,如//*[contains(@href,‘miitbeian’)]表示选择包含miitbeian的href属性的所有元素。

  • css和xpath的主要区别在于:

    • xpath可以通过子元素搜索父元素,css无法实现,css只能从父级往下级搜索。例如,//div[@id=‘china’]/parent::表示选择id为china的div元素的父元素,css没有这样的语法。

    • xpath可以按文本搜索元素,css不能。例如,//*[text()=‘hao123’]表示选择文本为hao123的所有元素,css没有这样的语法。

    • css比xpath更简单易读,执行速度更快,语法上更简洁。例如,#kw表示选择id为kw的所有元素,而xpath需要写成//*[@id=‘kw’]。

END,今天的分享就到此结束了!点赞关注不迷路! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/187661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win10任务栏卡死?三个技巧,让你轻松应对!

windows 10作为广受欢迎的操作系统,为用户提供了强大的功能和友好的用户界面。然而,有时用户可能会面临任务栏卡死的问题,这不仅影响使用体验,还可能导致一系列其他问题。本文将深入介绍win10任务栏卡死的原因,并提供三…

【Linux】-信号-(信号的产生,保存,处理,以及os是怎么读取硬件的输入,硬件异常和coredump,定时器的原理简单的用户态和内核态的详细介绍)

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …

外贸B2B网站独立站建站(零基础全流程)

1.第一步是要先去买个域名: 一般做外贸的购买.com 后缀的国际域名就好,域名可以在阿里云,腾讯云等大的平台上购买,方法很简单(但是在确定购买新的域名最好要分析下这个域名有没有被黑过,要不然后期对这个网…

【OpenGL】Clion配置

OpenGL简介 OpenGL(Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。OpenGL是行业领域中…

JVS低代码按钮组件触发逻辑,打破传统功能界限

在现代应用开发中,按钮组件的功能不仅仅局限于触发页面上的简单动作,它更可以成为连接前后端数据交互的桥梁。当按钮被点击时,其背后可能隐藏着复杂的逻辑远程调用过程,这些过程旨在从远程服务器获取数据,并将这些数据…

微信怎么设置自动回复

微信作为一款广受欢迎的社交媒体平台,其聊天功能是非常重要的。许多用户都希望能够快速、自动地回复消息 首先,点击设置,选择机器人下面的自动通过好友 点击新增规则,设置你自动通过好友的时间段,自动通过好友的微信工…

LeetCode Hot100 3.无重复字符的最长子串

题目: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 代码: class Solution {public int lengthOfLongestSubstring(String s) {char[] arr s.toCharArray(); // 转换成 char[] 加快效率(忽略带来的空间…

文章解读与仿真程序复现思路——太阳能学报EI\CSCD\北大核心《基于电力CPS联合仿真的主配一体化电网负荷转供方法研究》

这个标题涉及到电力系统、CPS(Cyber-Physical Systems,即网络化物理系统)联合仿真,以及主配一体化电网负荷转供方法的研究。让我们逐步解读: 基于电力CPS联合仿真: 基于电力: 指的是该研究与电力…

python-nmap库使用教程(Nmap网络扫描器的Python接口)(功能:主机发现、端口扫描、操作系统识别等)

文章目录 Python-nmap库使用教程前置条件引入python-nmap创建Nmap扫描实例执行简单的主机发现(nmap -sn)示例,我有一台主机配置为不响应 ICMP 请求,但使用nmap -sn,仍然能够探测到设备: 端口扫描扫描特定端…

AIGC实战——生成对抗网络(Generative Adversarial Network)

AIGC实战——生成对抗网络 0. 前言1. 生成对抗网络1.1 生成对抗网络核心思想1.2 深度卷积生成对抗网络 2. 数据集分析3. 构建深度卷积生成对抗网络3.1 判别器3.2 生成器3.3 DCGAN 模型训练 4. GAN 训练技巧4.1 判别器强于生成器4.2 生成器强于判别器4.3 信息量不足4.4 超参数 小…

数据结构与算法之美学习笔记:29 | 堆的应用:如何快速获取到Top 10最热门的搜索关键词?

目录 前言堆的应用一:优先级队列堆的应用二:利用堆求 Top K堆的应用三:利用堆求中位数解答开篇内容小结 前言 本节课程思维导图: 搜索引擎的热门搜索排行榜功能你用过吗?搜索引擎每天会接收大量的用户搜索请求&#x…

HTML5+CSS3+JS小实例:数字滑动选择控件

实例:数字滑动选择控件 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content=&quo…

IPtables防火墙详解

一、IPtables介绍 iptables是unix/linux自带的一款开放源代码的完全自由的基于包过滤(对OSI模型的四层或者是四层以下进行过滤)的防火墙工具&#xff0c;它的功能十分强大&#xff0c;使用非常灵活&#xff0c;可以对流入和流出服务器的数据包进行很精细的控制。主要针对网络访…

最全最详细ChatGPT角色预设词教程,Prompt分享

使用指南 1、可直复制使用 2、可以前往已经添加好Prompt预设的AI系统测试使用&#xff08;可自定义添加使用&#xff09; 雅思写作考官 我希望你假定自己是雅思写作考官&#xff0c;根据雅思评判标准&#xff0c;按我给你的雅思考题和对应答案给我评分&#xff0c;并且按照雅…

开会做笔记的时候用什么软件比较好?

在工作生涯中&#xff0c;会经历很多大大小小的会议&#xff0c;而如何快速准确记录下会议上重要的内容&#xff0c;成了很多上班族的必修课。在会上做笔记&#xff0c;选择什么样的工具才能事半功倍&#xff0c;成了一个值得深思的问题。而经过一段时间的测评后&#xff0c;我…

Postman:专业API测试工具,提升Mac用户体验

如果你是一名开发人员或测试工程师&#xff0c;那么你一定知道Postman。这是一个广泛使用的API测试工具&#xff0c;适用于Windows、Mac和Linux系统。今天&#xff0c;我们要重点介绍Postman的Mac版本&#xff0c;以及为什么它是你进行API测试的理想选择。 一、强大的功能和易…

在 AlmaLinux9 上安装Oracle Database 23c

在 AlmaLinux9 上安装Oracle Database 23c 0. 下载 Oracle Database 23c 安装文件1. 安装 Oracle Database 23c3. 连接 Oracle Database 23c4. &#xff08;谨慎&#xff09;卸载 Oracle Database 23c 0. 下载 Oracle Database 23c 安装文件 版权问题&#xff0c;下载地址请等待…

工单派单管理系统有什么用?企业如何提升生产效率与产品质量?

在当今竞争激烈的市场环境中&#xff0c;企业需要一个高效、精准的管理工具来提升生产制造的效率和品质。工单派单管理系统正是这样一种工具&#xff0c;能够实现生产计划、任务分配、进度追踪、工时掌控等环节的优化&#xff0c;提高整体生产运营的效率和精度。 一、工单生成 …

Pycharm 初学者使用教程Ⅰ

目录 1. 下载 Pycharm2. 安装 Pycharm3.打开 Pycharm4.初始化配置界面ProjectsCustomizePluginsLearn 关联博文 1. 下载 Pycharm 下载链接&#xff1a;https://www.jetbrains.com/pycharm/download/?sectionwindows 在下载链接网页中&#xff0c;首先看到的是PyCharm Profes…

计算机网络(二)

&#xff08;八&#xff09;客户端软件设计的细节 A、解析协议号 客户端可能会需要通过协议名指定协议&#xff0c;但是Socket接口是用协议号指定的&#xff0c;这时候我们就需要使用getprotobyname()函数实现协议名到协议号的转换&#xff0c;该函数会返回一个指向protoent的…