自动化测试selenium----css选择器总结
| 选择器 | 示例 | 描述 |
| * | * | 匹配任何元素 |
| element | DIV | 标签选择器,匹配所有使用DIV标签的元素 |
| .class | .tips | class选择器,匹配所有class属性中包含info的元素 .a.b则匹配同时包含a和b的元素 |
| #id | #username | id选择器,匹配id属性为username的元素 |
| element,element | DIV,SPAN | 多元素选择器,选择所有DIV和SPAN全集,使用,分隔 |
| element element | DIV SPAN | 后代元选择器,匹配所有的DIV的SPAN后代元素,中间使用空格分隔 |
| elemen> telement | DIV>SPAN | 子元素选择器,匹配所有的DIV的SPAN子元素,中间使用> 分隔 |
| elemen+ telement | DIV+SPAN | 毗邻元素选择器,匹配紧随DIV后面的同级SPAN元素(only one),不一定就是一个同一个div后面的一个 |
| elemen~ telement | DIV~SPAN | 同级元素选择器,匹配所有DIV后面的同级SPAN元素,可以隔着其他元素 |
| [attribute] | [att] | 所有包含att属性的元素 |
| [attribute=vlaue] |
DIV [att='val']
|
匹配所有att属性为val的DIV元素 |
|
[attribute^=vlaue]
[attribute|=vlaue]
|
DIV[att^='val'] | 匹配所有att属性以val开头的DIV元素 w3s使用的是| |
| [attribute$=vlaue] | DIV[att$='val'] | 匹配所有att属性以val结尾的DIV元素 |
|
[attribute*=vlaue]
[attribute~=vlaue]
|
DIV[att*='val'] | 匹配所有att属性包含val的DIV元素 |
| [attr1=vla1][attr2*=vla2] |
DIV [att1='v1'][att2*='v2']
|
匹配所有att属性为v1,att2属性包含v2的DIV元素
|
| [attr1=vla1],[attr2*=vla2] | DIV [att1='v1'],[att2*='v2'] | 同上 或关系 |
| :link | a:link | 选择所有未被访问的链接 |
| :visited | a:visited | 选择所有已被访问的链接 |
| :active | a:active | 选择所有活动链接 |
| :hover | a:hover | 选择鼠标指针所在的链接 |
| :focus | input:focus | 选择获取焦点的input元素 |
|
:first-child
|
p:first-child
|
选择所有符合如下规则的p元素,p必须是其父元素的第一个子元素 |
|
:last-child
|
p:last-child
|
选择所有符合如下规则的p元素,p必须是其父元素的最后一个子元素 |
|
:first-of-type
|
p:first-of-type
|
选择父元素的首个p子元素的集合,和first-child区别是前面可以有非p元素,不一定是父元素的第一个子元素 |
|
:last-of-type
|
p:last-of-type
|
选择父元素的首最后一个p子元素的集合,和last-child区别是后面可以有非p元素,不一定是父元素的最后一个子元素 |
|
:only-of-type
|
p:only-of-type
|
选择父元素的只有唯一个p子元素的集合 |
|
:nth-child(n)
|
p:nth-child(2)
|
选择属于其父元素的第二个子元素的每个 <p> 元素
|
|
:nth-last-child(n)
|
p:nth-last-child(2)
|
同上,从最后一个元素来计数 |
|
:nth-of-type(n)
|
p:nth-of-type(2)
|
选择父元素的第二个p子元素的集合,和:nth-child(n) 区别是前后可以有非p元素,不一定是父元素的第二个子元素 |
|
:nth-last-of-type(n)
|
p:nth-last-of-type(2)
|
同上,从最后一个元素来计数 |
|
:root
|
:root
|
选择文档的根元素 |
|
:empty
|
p:empty
|
选择没有子节点的p元素包含文本节点 |
|
:enabled
|
input:enabled
|
选择每个启用的input元素 |
|
:disabled
|
input:disabled
|
选择每个禁用的input元素 |
|
:checked
|
input:checked
|
选择每个被选中的input元素 |
|
:not(selector)
|
:not(p)
|
选择所有非p元素
|
| Selenium 中则是采用 | 了来自Sizzle 的css3 | 定位扩展,它的语法更加灵活易懂。 |
|
:nth(n)
:eq(n)
|
li:nth(2)
li:eq(2)
|
同:nth-child(n),但是从0开始 |
| :first | li:first | 同:first-child |
| :last | li:last | 同:last-child |
| :even | li:even | 在其父元素中的li 子元素集合中排在偶数位的集合 |
| :odd | li:odd | 在其父元素中的li 子元素集合中排在奇数位的集合 |
| :lt(n) | li:lt(2) | 在其父元素中的li 子元素集合中排在第n位之前的所有元素集合(不包含n),n从0开始 |
| :gt(n) | lg:lt(2) | 在其父元素中的li 子元素集合中排在第n位之后的所有元素集合(不包含n),n从0开始 |
| :only-child | div:only-child | 同:only-of-type |
| :empty | p:empty | 同CSS原生选择器:empty |
| :input | :input | 获取所有input类型的元素(包含input、select、textarea) |
| :text, :checkbox, :file, :password, :submit, :image, :reset, :button | ... | 获取指定类型的元素 |
自动化测试selenium----css选择器总结的更多相关文章
- selenium中CSS选择器定位
selenium元素定位,CSS选择器定位效率会高很多. CSS选择器用于选择你想要的元素的样式的模式.表格摘自“菜鸟教程”,具体用法可去查阅 选择器 示例 示例说明 CSS .class .intr ...
- Selenium(五):CSS选择器(二)
1. CSS选择器 1.1 选择语法联合使用 CSS selector的另一个强大之处在于:选择语法可以联合使用. html代码: <div id='bottom'> <div cl ...
- Selenium(四):CSS选择器(一)
1. CSS选择器 前面我们学习了根据 id.class属性.tag名选择元素. 如果我们要选择的元素没有id.class 属性,或者有些我们不想选择的元素也有相同的id.class属性值,怎么办呢? ...
- selenium元素定位之css选择器
在selenium元素定位时会用到css选择器选取元素,虽说xpath在定位元素时能解决大部分问题,但使用css选择器选取元素也是一种不错的选择. css相较与xpath选择元素优点如下: 表达式更加 ...
- Selenium系列(十二) - 自动化必备知识之CSS选择器的详细使用
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- selenium - css 定位
前言: CSS(Cascading Style Sheets)是一种语言,它被用来描述 HTML 和 XML 文档的表现. CSS 使用选择器来为页面元素绑定属性.这些选择器可以被 selenium ...
- 自动化测试selenium教程
什么是自动化测试: 自动帮我们测试一个系统里面的主要功能,一个app.电脑网站.网页,每个系里面许多的功能,好比一个淘宝页面,里面N多功能,登录.注册,推荐,商品详情.评论等等:软件生命周期:需求调研 ...
- 使用CSS选择器进行元素定位
在selenium webdriver中,支持使用CSS选择器来进行元素定位,事实在真的投入工作,大量编辑用例和元素定位的时候,使用css 和 xpath才是经常需要用到的. 之前有专门讲过使用xpa ...
- CSS选择器定位的使用
CSS 可以比较灵活选择控件的任意属性,一般情况下定位速度要比XPath 快,但对于初学者来说比较难以学习使用,下面我们就详细的介绍CSS 的语法与使用.一.CSS 选择器的常见语法: 例如下面一段代 ...
- css选择器用法,使用css定位元素,css和xpath元素定位的区别
css定位元素 1.什么是css? CSS(Cascading Style Sheets)层叠样式表,是一种语言,用来描述html或者xml的显示样式.在css语言中有css选择器,在selenium ...
随机推荐
- linux 文件权限、类型、命名规则
文件权限 -rwxr-x--t 文件类型 用户权限 组权限 其他用户权限 umask是一个掩码,设置文件的默认权限,会屏蔽掉不想授予该安全级别的权限,从对象的全权权限中减掉:对文件全权权 ...
- ios推送-B/S架构-socket
B/S架构项目,某一用户登录后执行了某些动作需要向在手机登录的对应的用户推送消息 通过socket实现 1.socket服务器:使用C#的window服务(该服务监听两个端口:比如平台8889,手机8 ...
- Spring中bean的作用域scope详解
参考文献:http://blog.csdn.net/jacklearntech/article/details/40157861 http://www.cnblogs.com/qq78292959/p ...
- Swift - 使用CAKeyframeAnimation实现关键帧动画
1,CAKeyframeAnimation介绍 CAKeyframeAnimation可以实现关键帧动画,这个类可以实现某一属性按照一串的数值进行动画,就像是一帧一帧的制作出来一样. 2,使用样例 ...
- spring mvc 请求转发和重定向(转)
spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ ...
- [译]SSAS下玩转PowerShell
操作SSAS数据库的方法有很多,是否有一种可以方法可以通过脚本自动去做这些事呢,比如处理分区,创建备份以及监视SSAS的运行状况. 原文地址: http://www.mssqltips.com/sql ...
- iOS- 制作U盘安装Mac OS X 系统
需要: 1.下载Yomitate.app or Capitan.app 跳转到官网或者第三方. 2.准备一台Mac 电脑 3.准备一个8G U盘. 安装: 步骤1.将Yomitate.app 拖到应用 ...
- C++ 定义全局数组
数组怎么用,全局数组就怎么用,只是他的作用域不一样才叫全局数组... 在A.h 或 A.cpp中定义char buf[10]; 如果在B.cpp要用,就在其开头中写成 extern char buf[ ...
- Vue#表单控件绑定
使用v-model 在表单控件上实现数据双向绑定. 单选:https://jsfiddle.net/miloer/bs49p0fx/ <input type="checkbox&quo ...
- asp.net c# 网上搜集面试题目大全(附答案)
1.String str=new String("a")和String str = "a"有什么区别? String str = "a"; ...