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

(编辑:jimmy 日期: 2026/11/3 浏览:2)

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

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?