热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

xpath定位和css定位的区别是什么

区别:1、XPATH中的直接子元素是使用“”定义的,而在CSS上,它是使用“>”定义的。如果一个元素在另一个元素的内部(子元素或者孙元素),则它在XPATH中使用“”定义,而在CSS中仅使用空格定义。

区别:1、XPATH中的直接子元素是使用“/”定义的,而在CSS上,它是使用“>”定义的。如果一个元素在另一个元素的内部(子元素或者孙元素),则它在XPATH中使用“//”定义,而在CSS中仅使用空格定义。

xpath定位和css定位对比

实际项目中使用较多的是xpath定位和css定位。XPath是XML文档中查找结点的语法,换句话就是通过元素的路径来查找这个元素。xpath比较强大,而css选择器在性能上更优,运行速度更快,语法上更简洁。比较两种方法:

直接子元素

XPATH中的直接子元素是使用“/”定义的,而在CSS上,它是使用“>”定义的。

XPATH://div/input
CSS: div>input

后代元素

如果一个元素在另一个元素的内部(子元素或者孙元素),则它在XPATH中使用“//”定义,而在CSS中仅使用空格定义。

XPATH://div//input
CSS: div input

ID定位

XPATH中的元素id使用以下内容定义:"[@id=‘kw’]",而在CSS中使用:"#kw"。

XPATH://input[@id='kw']
CSS: input#kw

【推荐教程:CSS视频教程 】

CLASS定位

对于class属性,XPATH类似id,而CSS中用一个点表示。

XPATH://input[@class="s_ipt"]
CSS: input.s_ipt

弟弟元素:following-sibling 继兄弟

这对于表单元素非常有用,即页面中位于同一父节点内的下一个相邻元素。

XPATH://input[@class="s_ipt"]/following-sibling::a
CSS:input[class="s_ipt"]+a

哥哥元素:preceding-sibling 前兄弟

页面中位于同一父节点内的上一个相邻元素。

XPATH://a[@name='tj_baike']/preceding-sibling::a
CSS:无法实现

父节点元素

页面中位于一个节点的上级元素。

XPATH: //input/parent
CSS: 无法实现

属性值

我们可以根据任何属性值定位元素。

XPATH: //input[@name='username']
CSS: input[name='username']

多个属性值

我们甚至可以通过多个属性来定位元素。

XPATH: //input[@name='rsv_spt' and @value="1"]
CSS: input[name='login'][type='submit']

第一个子元素

XPATH: //div[@id='u1']/a[1]
CSS: div#u1 a:first-child

最后一个子元素

XPATH: //div[@id='u1']/a[last()]
CSS: div#u1 a:last-child

第二个子元素

XPATH: //div[@id='u1']/a[2]
CSS: div#u1 a:nth-child(2)

模糊匹配

selenium中允许使用^=,$=或*=进行部分字符串匹配。

^=匹配前缀

XPATH: input[starts-with(@id,'user')]
CSS: input[id^='user']

$=匹配后缀

XPATH: input[ends-with(@id,'name')]
CSS: input[id$='name']

*=匹配包含

XPATH: input[contains(@id,'sernam')]
CSS: input[id*=sernam]

更多编程相关知识,请访问:编程视频!!

以上就是xpath定位和css定位的区别是什么的详细内容,更多请关注其它相关文章!


推荐阅读
  • 笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系& ... [详细]
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • Maven快照版本管理及更新策略详解
    本文深入探讨了Maven中的快照版本管理和更新策略,解释了快照版本与正式版本的区别,并提供了如何配置快照更新策略的方法,以确保项目依赖始终保持最新。 ... [详细]
  • 将XML数据迁移至Oracle Autonomous Data Warehouse (ADW)
    随着Oracle ADW的推出,数据迁移至ADW成为业界关注的焦点。特别是XML和JSON这类结构化数据的迁移需求日益增长。本文将通过一个实际案例,探讨如何高效地将XML数据迁移至ADW。 ... [详细]
  • 在使用mybatis进行mapper.xml测试的时候发生必须为元素类型“mapper”声明属性“namespace”的错误项目目录结构UserMapper和UserMappe ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 本文探讨了在AspNetForums平台中实施基于角色的权限控制系统的方法,旨在为不同级别的用户提供合适的访问权限,确保系统的安全性和可用性。 ... [详细]
  • 一、使用Microsoft.Office.Interop.Excel.DLL需要安装Office代码如下:2publicstaticboolExportExcel(S ... [详细]
  • 本文介绍了Tomcat的基本操作,包括启动、关闭及首次访问的方法,并详细讲解了如何在IDEA中创建Web项目,配置Servlet及其映射,以及如何将项目部署到Tomcat。 ... [详细]
  • 本文介绍了如何使用微信小程序的.wxml、.wxss和.js文件来实现点击获取数据及侧边栏显示功能。具体包括页面布局、样式设置以及事件处理。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • [附源码]计算机毕业设计JAVAjsp医药管理信息系统
    [附源码]计算机毕业设计JAVAjsp医药管理信息系统项目运行环境配置:Jdk1.8Tomcat7.0MysqlHBuilderX(Webstor ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
author-avatar
虽虽___Hui
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有