博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webdriver css选取器
阅读量:6284 次
发布时间:2019-06-22

本文共 1807 字,大约阅读时间需要 6 分钟。

大家在使用selenium元素定位的时候,通常更多使用的是XPATHcss定位方式用得比较少 但有时候css定位方式还是有一些优势的, 优势1:一般情况下定位速度要比XPATH 优势2:语法要比XPATH更简洁 下面简要介绍一下css元素选择器的语法 常见语法

*
通用元素选择器,匹配任何元素
E
标签选择器,匹配所有使用E标签的元素
.info
class选择器,匹配所有class属性中包含info的元素
#footer
id选择器,匹配所有id属性等于footer的元素
E,F
多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔
E F
后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔
E > F
子元素选择器,匹配所有E元素的子元素F
E + F
毗邻元素选择器,匹配紧随E元素之后的同级元素F (只匹配第一个)
E ~ F
同级元素选择器,匹配所有在E元素之后的同级F元素
E[att='val']
属性att的值为val的E元素 (区分大小写)
E[att^='val']
属性att的值以val开头的E元素 (区分大小写)
E[att$='val']
属性att的值以val结尾的E元素 (区分大小写)
E[att*='val']
属性att的值包含val的E元素 (区分大小写)
E[att1='v1'][att2*='v2']
属性att1的值为v1,att2的值包含v2 (区分大小写)
E:contains('xxxx')
内容中包含xxxx的E元素
E:not(s)
匹配不符合当前选择器的任何元素

例如这样一段html代码的网页

<div class="formdiv">
<form name="fnfn">
<input name="username" type="text"></input>
<input name="password" type="text"></input>
<input name="continue" type="button"></input>
<input name="cancel" type="button"></input>
<input value="SYS123456" name="vid" type="text">
<input value="ks10cf6d6" name="cid" type="text">
</form>
<div class="subdiv">
<ul id="recordlist">
<p>Heading</p>
<li>Cat</li>
<li>Dog</li>
<li>Car</li>
<li>Goat</li>
</ul>
</div>
</div>
匹配示例:
locator
匹配
css=div
css=div.formdiv
<div class="formdiv">
css=#recordlist
css=ul#recordlist
<ul id="recordlist">
css=div.subdiv p
css=div.subdiv > ul > p
<p>Heading</p>
css=form + div
<div class="subdiv">
css=p + li
css=p ~ li
二者定位到的都是 <li>Cat</li>
但是storeCssCount的时候,前者得到1,后者得到4
css=form > input[name=username]
<input name="username">
css=input[name$=id][value^=SYS]
<input value="SYS123456" name="vid" type="hidden">
css=input:not([name$=id][value^=SYS])
<input name="username" type="text"></input>
css=li:contains('Goa')
<li>Goat</li>
css=li:not(contains('Goa'))
<li>Cat</li>

转载于:https://www.cnblogs.com/Roger1227/archive/2013/06/10/3131043.html

你可能感兴趣的文章
关于redis的几件小事(六)redis的持久化
查看>>
package.json
查看>>
webpack4+babel7+eslint+editorconfig+react-hot-loader 搭建react开发环境
查看>>
Maven 插件
查看>>
初探Angular6.x---进入用户编辑模块
查看>>
计算机基础知识复习
查看>>
【前端词典】实现 Canvas 下雪背景引发的性能思考
查看>>
大佬是怎么思考设计MySQL优化方案的?
查看>>
<三体> 给岁月以文明, 给时光以生命
查看>>
Android开发 - 掌握ConstraintLayout(九)分组(Group)
查看>>
springboot+logback日志异步数据库
查看>>
Typescript教程之函数
查看>>
Android 高效安全加载图片
查看>>
vue中数组变动不被监测问题
查看>>
3.31
查看>>
类对象定义 二
查看>>
收费视频网站Netflix:用户到底想要“点”什么?
查看>>
MacOS High Sierra 12 13系统转dmg格式
查看>>
关于再次查看已做的多选题状态逻辑问题
查看>>
动态下拉菜单,非hover
查看>>