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

作者:shawn xie123 时间:2021-09-13 01:41:13 

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”)

来源:https://blog.csdn.net/xiezhiming1234/article/details/82914038

标签:python3,selenium,自动化,CSS定位
0
投稿

猜你喜欢

  • Python还能这么玩之用Python修改了班花的开机密码

    2023-11-23 17:38:40
  • python删除服务器文件代码示例

    2023-07-26 15:44:08
  • Python 设计模式行为型访问者模式

    2023-10-18 14:44:52
  • Python多进程并发与同步机制超详细讲解

    2022-11-22 08:35:02
  • 三分钟时间教你用Python绘制春联

    2023-11-06 00:26:08
  • 对python中类的继承与方法重写介绍

    2023-03-21 09:49:20
  • sqlserver 复制表 复制数据库存储过程的方法

    2024-01-21 17:01:00
  • PHP中Http协议post请求参数

    2023-11-16 18:38:38
  • mysql 如何使用JSON_EXTRACT() 取json值

    2024-01-16 04:26:46
  • jupyter notebook运行命令显示[*](解决办法)

    2022-02-19 01:23:10
  • python re模块匹配贪婪和非贪婪模式详解

    2023-04-19 01:44:16
  • C#中实现查找mysql的安装路径

    2024-01-24 05:48:15
  • python 时间戳与格式化时间的转化实现代码

    2021-07-06 10:14:47
  • python+Django+pycharm+mysql 搭建首个web项目详解

    2024-01-18 22:18:07
  • MySQL 数据类型选择原则

    2024-01-21 03:02:42
  • mysql 5.6.26 winx64安装配置图文教程(一)

    2024-01-14 21:44:59
  • 清除代码异味

    2011-05-21 08:34:00
  • OpenCV实现去除背景识别的方法总结

    2021-01-06 23:04:10
  • js创建一个input数组并绑定click事件的方法

    2023-08-15 02:35:09
  • asp.net得到本机数据库实例的两种方法代码

    2024-01-27 16:00:42
  • asp之家 网络编程 m.aspxhome.com