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中的函数用法入门教程
Sep 02 Python
操作Windows注册表的简单的Python程序制作教程
Apr 07 Python
深入理解Python对Json的解析
Feb 14 Python
Python实现扩展内置类型的方法分析
Oct 16 Python
flask中的wtforms使用方法
Jul 21 Python
Python数据集切分实例
Dec 08 Python
pyQT5 实现窗体之间传值的示例
Jun 20 Python
Django基础三之视图函数的使用方法
Jul 18 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
Jan 04 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
Feb 25 Python
基于plt.title无法显示中文的快速解决
May 16 Python
使用python求解迷宫问题的三种实现方法
Mar 17 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字符串过滤,转换函数代码
2012/05/01 PHP
解析百度搜索结果link?url=参数分析 (全)
2012/10/09 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
php 多个变量指向同一个引用($b = &$a)用法分析
2019/11/13 PHP
PHP实现递归的三种方法
2020/07/04 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
选择TreeView控件的树状数据节点的JS方法(jquery)
2010/02/06 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
2013/12/31 Javascript
js星星评分效果
2014/07/24 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
Highcharts入门之简介
2016/08/02 Javascript
Vue.js对象转换实例
2017/06/07 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
利用python求相邻数的方法示例
2017/08/18 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
Python3.5局部变量与全局变量作用域实例分析
2019/04/30 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
Django正则URL匹配实现流程解析
2020/11/13 Python
连锁经营管理专业大学生求职信
2013/10/30 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
电子专业毕业生自荐信
2014/05/25 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
七一讲话心得体会
2014/09/05 职场文书
采购员工作总结范文
2015/08/12 职场文书