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守护线程用法实例
Jun 23 Python
pandas.DataFrame 根据条件新建列并赋值的方法
Apr 08 Python
基于python实现学生管理系统
Oct 17 Python
python判断完全平方数的方法
Nov 13 Python
浅谈python下tiff图像的读取和保存方法
Dec 04 Python
Python supervisor强大的进程管理工具的使用
Apr 24 Python
Python3.5文件修改操作实例分析
May 01 Python
python对csv文件追加写入列的方法
Aug 01 Python
python3 下载网络图片代码实例
Aug 27 Python
python 求10个数的平均数实例
Dec 16 Python
python with (as)语句实例详解
Feb 04 Python
python list的index()和find()的实现
Nov 16 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使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
js 替换
2008/02/19 Javascript
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
JavaScript中constructor()方法的使用简介
2015/06/05 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
JQuery为元素添加样式的实现方法
2016/07/20 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
浅谈js算法和流程控制
2016/12/29 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
2017/03/08 Javascript
vue组件jsx语法的具体使用
2018/05/21 Javascript
JavaScript 获取滚动条位置并将页面滑动到锚点
2021/02/08 Javascript
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
python设置windows桌面壁纸的实现代码
2013/01/28 Python
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
Python如何实现MySQL实例初始化详解
2017/11/06 Python
python中requests和https使用简单示例
2018/01/18 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
python学生信息管理系统(完整版)
2020/04/05 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
Django返回HTML文件的实现方法
2020/09/17 Python
Python图像读写方法对比
2020/11/16 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
物理系毕业生自荐书范文
2014/02/22 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python