Python+Selenium+Unittest 之selenium7--元素定位6-CSS定位1(定位所有、定位class、定位id、tag定位)

目录

一、CSS简介

二、 定位方式

三、实践操作

1、*(定位所有元素)

 2、. (定位class属性)

 3、#(定位id属性)

4、tag定位


一、CSS简介

        CSS属于是一种计算机语言,主要是用来为结构化文档的外观来进行修饰的,比如说文档的颜色、字体之类的,一般情况下CSS的定位速度要快于XPath的。

二、 定位方式

        CSS和XPath的定位方式类似,可以通过CSS的一些语法,去匹配class、id等元素进行定位。

表达式含义

*

定位所有元素
.class选择器,定位class属性
#id选择器,定位id属性
tag_name定位元素时,不需要任何符号标识,直接使用标签名即可,定位tag_name
A元素>B元素定位绝对路径(相当于xpath的/)
A元素 B元素(中间用空格隔开)定位相对路径(相当于XPath的//)
tag:nth-child(n)定位第n个标签,且第n个标签必须为tag

tag:first-child

定位第1个标签,且第1个标签必须为tag
tag:last-child定位最后1个标签,且最后1个标签必须为tag

三、实践操作

1、*(定位所有元素)

  使用"*"号可以定位到页面的所有元素。

CSS中"*"的具体语法:

find_element_by_css_selector("*")

from selenium import webdriver #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
test = driver.find_element_by_css_selector("*")    #定位页面的所有元素
print(test.text)     #输出定位到的所有text内容

 打印结果为:

新闻hao123地图贴吧视频图片网盘更多
设置登录
高考上百度,智能报志愿

换一换
禁绝毒品 常抓不懈
3“千万工程”一张蓝图绘到底
1胡锡进自称正式进入中国股市
热
4被家长持长杆追打 男孩从5楼跳下
2男孩估分700结果真考700分
热
5经纪人回应张雪峰被强制送医
热

 2、. (定位class属性)

        在css定位中,如果要匹配class的属性,就需要在class属性前加上"."去进行定位。

CSS中"."的具体语法:

find_element_by_css_selector(".class")

from selenium import webdriver #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_css_selector('.s_ipt').send_keys('放假安排')   #定位到输入框,然后输入框输入 放假安排
 3、#(定位id属性)

         和使用class定位方式一样,只不过就是把"."+class换成了"#"+id。

CSS中"#"的具体语法:

find_element_by_css_selector("#id")

from selenium import webdriver #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_css_selector('#kw').send_keys('放假安排')   #定位到输入框,然后输入框输入 放假安排
4、tag定位

        tag定位的方法是直接在()里输入要定位的tag标签即可,因为页面没有唯一的tag元素,所以这里就简单举个例子,可能运行不成功。

 CSS中tag定位的具体语法:

find_element_by_css_selector("tag标签")

from selenium import webdriver #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_css_selector('input').send_keys('放假安排')   #定位到输入框,然后输入框输入 放假安排

    这篇先说CSS的这四种定位方式,下一篇说剩下的几种定位方式。


 下图为公众号二维码,内容会同步发出,大家可以关注一起学习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘阿童木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值