python3 selenium自动化测试 强大的CSS定位方法


Posted in Python onAugust 23, 2019

ccs的优点:css相对xpath语法比xpath简洁,定位速度比xpath快

css的缺点:css不支持用逻辑运算符来定位,而xpath支持。css定位语法形式多样,相对xpath比较难记。

css定位建议多用,这个定位方式很强大,定位速度快且准确度高。至于难记,用熟了就好了,对勤快的人来说,这不是问题。

CSS_selector常用符号:

#

表示id

.

表示class

>

表示子元素,层级

1.通过id属性定位:

find_element_by_css_selector("#id的属性值")

实例:find_element_by_css_selector("#kw")

2.通过class_name属性定位:

find_element_by_css_selector(".class的属性值")

实例:find_element_by_css_selector(".s_ipt")

3.通过其它属性定位:

find_element_by_css_selector("[属性=‘属性值']")

find_element_by_css_selector("[属性=属性值]") ---------------- 请注意这里属性值没有加引号

实例1:find_element_by_css_selector("[name=‘kw']")

实例2.1:find_element_by_css_selector("[style=‘display']")

实例2.2:find_element_by_css_selector("[style=display]") ---------请注意这里属性值没有加引号

这里特意举例两次,是强调引号在这里加不加都没关系,不会影响定位。

4.通过父子关系定位:

假如你不知道某人的身份证号码、名字、手机号码等信息时无法取得联系,但是你知道某人爸爸的手机号码,此时你可以通过他爸爸来找到某人。也就是通过(“他爸爸[phone=手机号]>本人”) 找到某人。

换成术语就是当我们定位元素时,发现没有可以标识的唯一的元素的属性值时,那我们可以考虑用父亲标签结合属性来定位元素。例如:

find_element_by_css_selector(“input#id的属性值>下级标签”)

实例:find_element_by_css_selector(“input#kw>div”)

5.通过爷爷关系定位:

假如他爸爸也没有手机号码,此时你可以往上找他爷爷。也就是也就是通过(“他爷爷[phone=手机号]>他爸爸>本人”) ,找到某人。

换成术语就是当我们定位元素时,发现父亲标签中没有可以标识的唯一的元素的属性值时,那我们可以考虑用爷爷标签结合属性来定位元素。例如:

实例:find_element_by_css_selector(“input#kw>divs>div#ko”)

以上这篇python3 selenium自动化测试 强大的CSS定位方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
基于python时间处理方法(详解)
Aug 14 Python
python实现员工管理系统
Jan 11 Python
Python实现k-means算法
Feb 23 Python
python 3.6.7实现端口扫描器
Sep 04 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
Feb 26 Python
jupyter修改文件名方式(TensorFlow)
Apr 21 Python
python3 循环读取excel文件并写入json操作
Jul 14 Python
Python列表嵌套常见坑点及解决方案
Sep 30 Python
Python基础之函数嵌套知识总结
May 23 Python
python cv2图像质量压缩的算法示例
Jun 04 Python
分析Python感知线程状态的解决方案之Event与信号量
Jun 16 Python
Python实现生活常识解答机器人
Jun 28 Python
python3 selenium自动化 下拉框定位的例子
Aug 23 #Python
python Web flask 视图内容和模板实现代码
Aug 23 #Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
Aug 23 #Python
Python 实用技巧之利用Shell通配符做字符串匹配
Aug 23 #Python
opencv 获取rtsp流媒体视频的实现方法
Aug 23 #Python
Python3从零开始搭建一个语音对话机器人的实现
Aug 23 #Python
python写入数据到csv或xlsx文件的3种方法
Aug 23 #Python
You might like
php adodb连接带密码access数据库实例,测试成功
2008/05/14 PHP
ThinkPHP3.2.3实现分页的方法详解
2016/06/03 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
javascript json 新手入门文档
2009/12/03 Javascript
编写Js代码要注意的几条规则
2010/09/10 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
jquery自定义表单验证插件
2016/10/12 Javascript
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
2017/07/21 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
[10:28]2018DOTA2国际邀请赛寻真——VGJ.S寻梦之路
2018/08/15 DOTA
[39:21]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.24
2019/09/10 DOTA
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
python类的继承实例详解
2017/03/30 Python
python日志模块logbook使用方法
2019/09/19 Python
详解Python3定时器任务代码
2019/09/23 Python
python文字转语音的实例代码分析
2019/11/12 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
师范生实习自我鉴定
2013/11/01 职场文书
房地产开盘策划方案
2014/02/10 职场文书
代理协议书
2014/04/22 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
实习介绍信模板
2015/01/30 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis
nginx实现多geoserver服务的负载均衡
2022/05/15 Servers