当前位置: 首页 > news >正文

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元素。

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’]。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

http://www.dtcms.com/a/537469.html

相关文章:

  • 什么网站可以自学ps做贵宾卡互联网营销师
  • 建站公司 深圳巴西网站后缀
  • LeetCode 3. 无重复字符的最长子串解析
  • 给你一个新的网站怎么做2017网站备案抽查
  • 杭州网站做的好公司公司品牌网络推广方案
  • PyTorch Geometric 图神经网络实战利器
  • 《深入浅出统计学》学习笔记(一)
  • 从登录场景看通用序列化协议:JSON 与 Protobuf 实践
  • 天津网站优化软件一个公司可以做两个网站吗
  • 常用的网站开发做网站软件要钱吗
  • 怎样做一家网站傻瓜式建站软件下载
  • 【软考架构】案例题 - 数据库系统与缓存设计:在MySQL数据库设计中,反规范化的常见方法
  • 公司做网站都需要什么流程sofish wordpress主题
  • 顺德 网站开发 招聘网站排名软件推荐
  • 三维空间点绕Y轴旋转的数学原理与Python实现
  • 大模型未来发展可能有哪些趋势
  • 数电基础:TTL构成的常见门电路
  • 从0开始学python(day2)
  • 天蓝色网站网站建设遇到的问题及对策
  • 专业网站建设分类标准石家庄企业网络推广
  • MySQL Workbench 8.0.44中文汉化
  • 网站建设一条龙包括哪些服务wordpress主页在
  • 数据库锁分类和总结
  • 【优先级队列(堆)】数据流的中位数(hard)
  • 【openGauss】从“functions in index expression must be marked IMMUTABLE“谈起
  • 拼团购物网站怎么做学网站开发
  • 【CMake】使用 CMake 构建 C/C++ 项目的标准流程详解
  • 最短路径——BFS
  • git“约定式提交” (Conventional Commits) 的规范
  • 上海做家教网站有哪些wordpress导航菜单制作