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

 更新时间:2019年08月23日 17:02:54   作者:shawn xie123  
今天小编就为大家分享一篇python3 selenium自动化测试 强大的CSS定位方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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定位方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • paramiko使用tail实时获取服务器的日志输出详解

    paramiko使用tail实时获取服务器的日志输出详解

    这篇文章主要给大家介绍了关于paramiko使用tail实时获取服务器的日志输出的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 基于Python + PyQt搭建可视化页面的详细教程

    基于Python + PyQt搭建可视化页面的详细教程

    PyQt是一个Python绑定库,它是基于Qt库的,PyQt提供了一整套丰富的组件,包括窗口、按钮、菜单、列表框等,以及事件处理、布局管理、网络通信等多种功能,本文介绍了基于Python + PyQt搭建可视化页面的详细教程,需要的朋友可以参考下
    2024-07-07
  • python mqtt 客户端的实现代码实例

    python mqtt 客户端的实现代码实例

    这篇文章主要介绍了python mqtt 客户端代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python学习之面向函数转面向对象详解

    Python学习之面向函数转面向对象详解

    本文将针对类进行一个综合练习,利用所学的面向对象编程、类的知识将我们之前做的面向函数编写的学生信息库重构为面向对象的方式,感兴趣的可以了解一下
    2022-03-03
  • python 实现识别图片上的数字

    python 实现识别图片上的数字

    这篇文章主要介绍了python 识别图片上的数字,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • nlp自然语言处理基于SVD的降维优化学习

    nlp自然语言处理基于SVD的降维优化学习

    这篇文章主要为大家介绍了nlp自然语言处理基于SVD的降维优化学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Python制作Windows按键通知脚本

    Python制作Windows按键通知脚本

    对于键盘没有背光灯的同学而言,切换大小写或控制Num键开关的时候没有提示,经常需要试探性地输入一些字符来判断开关是否打开,体验非常糟糕。所以本文就来用Python做一个Windows按键通知脚本,需要的可以参考一下
    2022-11-11
  • python中将字典改造为对象的方法

    python中将字典改造为对象的方法

    这篇文章主要介绍了python中将字典改造为对象的方法,在实际项目中,当使用json模块加载一个深度很深的字典类型的json文件时,使用字典的访问方式,将会出现很多中括号,即不直观也不美观,可以将这个字典转化为对象,使得可以用.的方式访问,需要的朋友可以参考下
    2023-11-11
  • python 递归调用返回None的问题及解决方法

    python 递归调用返回None的问题及解决方法

    这篇文章主要介绍了python 递归调用返回None的问题,本文通过实例代码给大家记录了解决方案,代码简单易懂,非常不错对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • 使用python验证代理ip是否可用的实现方法

    使用python验证代理ip是否可用的实现方法

    验证代理IP是否可用。原理是使用代理IP访问指定网站,如果返回状态为200,表示这个代理是可以使用的。这篇文章重点给大家介绍使用python验证代理ip是否可用的实现方法,感兴趣的朋友一起看看吧
    2018-07-07

最新评论