CSS元素定位之通过元素的标签或者元素的id、class属性定位详解


Posted in HTML / CSS onSeptember 23, 2022

前言

大部分人在使用selenium定位元素时,用的是xpath元素定位方式,因为xpath元素定位方式基本能解决定位的需求。xpath元素定位方式更直观,更好理解一些。

css元素定位方式往往被忽略掉了,其实css元素定位方式也有它的价值;相对于xpath元素定位方式来说,css元素定位方式更快,语法更简洁。

一、css元素定位:通过元素的标签或者元素的id、class属性定位

1、css元素定位方式可以通过元素的id、class、标签这三个常规属性直接定位。

2、举例:如下是百度输入框的的html代码:

<input id="kw" class="s_ipt" type="text" autocomplete="off" maxlength="100" name="wd"/>

①css元素定位使用#号表示id属性,如:#kw

②css元素定位方式使用.表示class属性,如.s_ipt

③css元素定位方式也可以直接使用标签名称,而没有任何标识符,如:input

CSS元素定位之通过元素的标签或者元素的id、class属性定位详解

二、css元素定位:通过元素的其它属性定位

1、css元素定位除了可以通过标签、class、id这三个常规属性定位外,也可以通过元素的其它属性定位。例如: 

CSS元素定位之通过元素的标签或者元素的id、class属性定位详解

三、css元素定位:通过标签与属性的组合来定位元素 

CSS元素定位之通过元素的标签或者元素的id、class属性定位详解

四、css元素定位:通过元素的层级关系来定位

1、css元素定位可以达到类似xpath元素定位通过元素的层级关系来定位,例如:

xpath元素定位: //form[@id='form']/span/input 和 //form[@class='fm']/span/input 也可以用css实现 

CSS元素定位之通过元素的标签或者元素的id、class属性定位详解

五、css元素定位:通过元素的并列索引来定位 

1、以下图为例:与四相似。 

CSS元素定位之通过元素的标签或者元素的id、class属性定位详解

2、css元素定位也可以通过索引option:nth-child(1)来定位子元素,这点与xpath写法用很大差异,其实很好理解,直接翻译过来就是第几个小孩 

CSS元素定位之通过元素的标签或者元素的id、class属性定位详解

六、css元素定位:通过对元素属性的逻辑运算来定位

1、css同样也可以实现逻辑运算,同时匹配两个属性,这里跟xpath不一样,无需写and关键字。

CSS元素定位之通过元素的标签或者元素的id、class属性定位详解

七、处理selenium中的css_selector定位元素的模糊匹配问题

① 匹配元素的id属性,先指定一个html标签,然后加上“#”符号,再加上id的属性值。

driver.find_element_by_css_selector('div#ID').click()

②匹配元素的class属性,先指定一个html标签,然后加上“.”符号,再加上class的属性值。

driver.find_element_by_css_selector('div.CLASS').click()

③匹配元素的其他属性。【这里不再是‘.’或者‘#’符号,而是采用了"标签名[属性名=属性值]"的方式定位元素】

driver.find_element_by_css_selector('div[name=NAME]').click()

④组合匹配【支持定位元素对象通过两组或两组以上的属性】

driver.find_element_by_css_selector('div[name=NAME][type=TYPE]').click()

⑤匹配头部

driver.find_element_by_css_selector('div[style^="sp.gif"]').click()

⑥匹配尾部

driver.find_element_by_css_selector('div[style$="sp.gif"]').click()

⑦匹配中间

driver.find_element_by_css_selector('div[style*="sp.gif"]').click()

到此这篇关于CSS元素定位之通过元素的标签或者元素的id、class属性定位的文章就介绍到这了,更多相关css元素定位内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
Web前端绘制0.5像素的几种方法
Aug 11 HTML / CSS
巧用CSS3的calc()宽度计算做响应模式布局的方法
Mar 22 HTML / CSS
canvas粒子动画背景的实现示例
Sep 03 HTML / CSS
使用Html5、CSS实现文字阴影效果
Jan 17 HTML / CSS
html5 标签
Jul 16 HTML / CSS
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
Jan 09 HTML / CSS
HTML5中div、article、section的区别及使用介绍
Aug 14 HTML / CSS
HTML5使用drawImage()方法绘制图像
Jun 23 HTML / CSS
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
Sep 15 HTML / CSS
一些常用的HTML5模式(pattern) 总结
Jul 14 HTML / CSS
基于zepto的插件之移动端无缝向上滚动并上下触摸滑动实例代码
Dec 20 HTML / CSS
HTML5开发动态音频图的实现
Jul 02 HTML / CSS
微信小程序纯CSS实现无限弹幕滚动效果
Sep 23 #HTML / CSS
使用 CSS 构建强大且酷炫的粒子动画效果
详解CSS中postion和opacity及cursor的特性
Aug 14 #HTML / CSS
html网页引入svg图片的4种方式
HTML静态页面获取url参数和UserAgent的实现
Aug 05 #HTML / CSS
CSS使用Flex和Grid布局实现3D骰子
Aug 05 #HTML / CSS
css中:last-child不生效的解决方法
Aug 05 #HTML / CSS
You might like
实用函数8
2007/11/08 PHP
php中删除字符串中最先出现某个字符的实现代码
2013/02/03 PHP
php图片水印添加、压缩、剪切的封装类实现
2020/04/18 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
打开新窗口关闭当前页面不弹出关闭提示js代码
2013/03/18 Javascript
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
JavaScript不刷新实现浏览器的前进后退功能
2014/11/05 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
[js高手之路]单例模式实现模态框的示例
2017/09/01 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
React路由鉴权的实现方法
2019/09/05 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
2020/11/03 Javascript
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
2019/04/11 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python中使用while循环的实例
2019/08/05 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
ECHT官方网站:男女健身服
2020/02/14 全球购物
品牌推广活动策划方案
2014/08/19 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
Nginx开源可视化配置工具NginxConfig使用教程
2022/06/21 Servers