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

软件测试学习笔记丨Selenium学习笔记:css定位

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/22511
本文为霍格沃兹测试开发学社的学习经历分享,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~
说明:本篇博客基于selenium 4.1.0

selenium-css定位

element_css = driver.find_element(By.CSS_SELECTOR, 'css表达式')

css定位说明

selenium中的css定位,实际是通过css选择器来定位到具体元素,css选择器来自于css语法

css定位优点

  1. 语法简洁
  2. 对比其他定位方式,定位效率更快
  3. 对比其他定位方式,定位更稳定

调试方法

方法1:在浏览器开发者模式的elements中,Ctrl+F搜索栏输入css表达式
方法2:在浏览器开发者模式的console中,按如下格式验证表达式

$("css表达式")   # 注:表达式中存在引号,则使用单引号,'$'可更换为$$

css选择器语法

基础选择器

选择器格式示例示例说明
选择全部**选择全部元素
标签选择器html标签p选择所有

元素

ID选择器#id属性值#su选择所有id='su’的元素
类选择器.class属性值.s_btn选择所有class='s_btn’的元素
属性选择器1[属性名][type]选择所有带type属性的元素
属性选择器2[属性名=‘属性值’][type=“submit”]选择所有type="submit"的元素
属性选择器3[属性名~=‘属性值’][type~=“submit”]选择所有type包含"submit"的元素
属性选择器4[属性名丨=‘属性值’][type丨=“submit”]选择所有type以"submit"开头的元素

备注:某些元素属性有多个值(如class属性),值表现为以空格隔开,使用时需要单个取出使用

组合选择器

组合选择器就是同时使用多个基础选择器,从而更好地筛选出目标元素

选择器格式示例示例说明
标签指定属性标签加属性描述input#su选择所有id='su’的元素
并集元素1,元素2div,p选择所有

元素

父子元素1>元素2div>p选择所有父级是

元素

后代元素1 元素2div p选择
中的所有

元素

相邻元素1+元素2div+p选择
同级后的相邻

元素

同级元素1~元素2div~p选择
同级后的所有

元素

伪属性选择器

伪属性选择器是指元素在html中实际并不存在该属性,是由css定义的拓展描述属性

选择器格式示例示例说明
唯一子元素:only-childp:only-child选择所有

元素且该元素是其父级的唯一一个元素

第一子元素:first-childp:first-child选择所有

元素且该元素是其父级的第一个元素

最后子元素:last-childp:last-child选择所有

元素且该元素是其父级的最后一个子元素

顺序选择器:nth-child(n)p:nth-child(2)选择所有

元素且该元素是其父级的第二个子元素

顺序类型选择器:nth-of-type(n)p:nth-of-type(2)选择所有

元素且该元素是其父级的第二个

元素

倒序选择器:nth-last-child(n)p:nth-last-child(2)选择所有

元素且该元素是其父级的倒数第二个子元素

倒序类型选择器:nth-last-of-type(n)p:nth-last-of-type(2)选择所有

元素且该元素是其父级的倒数第二个

元素

在这里插入图片描述

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)


http://www.kler.cn/a/373295.html

相关文章:

  • 027_UIImage_in_Matlab图形界面开发中的图片
  • linux之网络子系统- 内核发送数据包流程以及相关实际问题
  • SpringBoot篇(监控)
  • HTML基本类型
  • 程序员转项目经理,我们必须掌握的3大核心要素
  • 一款专业获取 iOS 设备的 UDID 工具|一键获取iPhone iPad设备的 UDID
  • src漏洞挖掘#信息收集#网络安全
  • 前端性能优化全攻略:提升用户体验,加速页面加载
  • ArcGIS Pro SDK (十九)场景图层
  • Java已死,大模型才是未来?
  • 数据安全-接口数据混合加密笔记
  • 单节点kubernetes-1.20二进制部署
  • 北京市委决定:这所4校合并的高校,“一把手”调整
  • 【flask】 前后端通信方式 原生js的ajax,总结
  • 【面试全纪实 | Linux 03 安全类】请回答,你真的了解Linux吗?
  • 推荐基于Hadoop的大数据相关环境安装
  • 【WPF】用于图形绘制的三个重要类:Canvas 类,PathGeometry 类,Path 类
  • 天锐绿盾加密软件与Ping32:企业数据安全备受关注的两款加密软件
  • 算法定制LiteAIServer视频智能分析软件的过亮、过暗及抖动检测应用场景
  • 【项目实战】通过LLaMaFactory+Qwen2-VL-2B微调一个多模态医疗大模型