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 相关文章推荐
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
May 22 Python
python cx_Oracle模块的安装和使用详细介绍
Feb 13 Python
解决安装python库时windows error5 报错的问题
Oct 21 Python
在Python中获取两数相除的商和余数方法
Nov 10 Python
python 字典操作提取key,value的方法
Jun 26 Python
django-filter和普通查询的例子
Aug 12 Python
如何利用pygame实现简单的五子棋游戏
Dec 29 Python
Python面向对象之多态原理与用法案例分析
Dec 30 Python
浅析python表达式4+0.5值的数据类型
Feb 26 Python
pycharm如何实现跨目录调用文件
Feb 28 Python
Python-jenkins模块之folder相关操作介绍
May 12 Python
详解Python 最短匹配模式
Jul 29 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 输出简单动态WAP页面
2009/06/09 PHP
PHP基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
php生成随机数的三种方法
2014/09/10 PHP
php实现带读写分离功能的MySQL类完整实例
2016/07/28 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
2015/01/05 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
2016/11/30 Javascript
微信小程序 密码输入(源码下载)
2017/06/27 Javascript
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
vue cli4.0项目引入typescript的方法
2020/07/17 Javascript
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
快速了解Python中的装饰器
2018/01/11 Python
简单实现Python爬取网络图片
2018/04/01 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
Django在pycharm下修改默认启动端口的方法
2019/07/26 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
夜大自我鉴定
2013/10/31 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
作文批改评语
2014/12/25 职场文书
2015年信息化建设工作总结
2015/07/23 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server