Python+Selenium+Unittest 之selenium7

【Python+Selenium+Unittest 之selenium7】目录
一、CSS简介
二、 定位方式
三、实践操作
1、*(定位所有元素)
2、. (定位class属性)
3、#(定位id属性)
4、tag定位
一、CSS简介
CSS属于是一种计算机语言 , 主要是用来为结构化文档的外观来进行修饰的 , 比如说文档的颜色、字体之类的 , 一般情况下CSS的定位速度要快于XPath的 。
二、 定位方式
CSS和XPath的定位方式类似 , 可以通过CSS的一些语法 , 去匹配class、id等元素进行定位 。
表达式
含义
定位所有元素
class选择器 , 定位class属性
id选择器 , 定位id属性
定位元素时 , 不需要任何符号标识 , 直接使用标签名即可 , 定位
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模块的webdriverdriver = webdriver.Chrome()#webdriver.Chrome()是启动谷歌浏览器然后定义成变量driverdriver.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模块的webdriverdriver = webdriver.Chrome()#webdriver.Chrome()是启动谷歌浏览器然后定义成变量driverdriver.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模块的webdriverdriver = webdriver.Chrome()#webdriver.Chrome()是启动谷歌浏览器然后定义成变量driverdriver.get("https://www.baidu.com")#打开百度浏览器driver.find_element_by_css_selector('#kw').send_keys('放假安排')#定位到输入框 , 然后输入框输入 放假安排
4、tag定位
tag定位的方法是直接在()里输入要定位的tag标签即可 , 因为页面没有唯一的tag元素 , 所以这里就简单举个例子 , 可能运行不成功 。