元素定位教学 · CSS 选择器定位

系统学习 By.CSS_SELECTOR 的核心语法、实操示例与最佳实践

首页 定位导航

By.CSS_SELECTOR 定位导读

By.CSS_SELECTOR 是 Selenium 元素定位的重要方式,通过元素的相关属性或特征进行精准定位。本页面提供完整的语法说明、代码示例和可交互的实操练习区域。

By.CSS_SELECTOR 快速入门
掌握核心语法与定位策略
语法示例
find_element / find_elements 用法
实操练习
交互式练习区实时反馈
By.CSS_SELECTOR

⑧ CSS 选择器定位

浏览器原生支持,语法简洁,通常比 XPath 更快
CSS 选择器定位语法:
单个元素 (find_element)
driver.find_element(By.CSS_SELECTOR, "html body div.container div.product-list div.product-card") (绝对路径)
driver.find_element(By.CSS_SELECTOR, "#userName") (id 选择器)
driver.find_elements(By.CSS_SELECTOR, ".product-card") (class 选择器)
driver.find_element(By.CSS_SELECTOR, "input[name='email']") (属性选择器)
driver.find_element(By.CSS_SELECTOR, "input[name]") (属性名称选择器)
driver.find_element(By.CSS_SELECTOR, "a[href*='selenium']") (部分属性值选择器)
driver.find_element(By.CSS_SELECTOR, "a") (标签名选择器)
driver.find_element(By.CSS_SELECTOR, ".product-card:nth-child(3)") (伪类选择器)
driver.find_element(By.CSS_SELECTOR, "div.product-list > div.product-card") (父子层级)
多个元素 (find_elements)
driver.find_elements(By.CSS_SELECTOR, "html body div.container div.product-list div.product-card") (绝对路径)
driver.find_elements(By.CSS_SELECTOR, "#userName") (id 选择器)
driver.find_elements(By.CSS_SELECTOR, ".product-card") (class 选择器)
driver.find_elements(By.CSS_SELECTOR, "input[name='email']") (属性选择器)
driver.find_elements(By.CSS_SELECTOR, "input[name]") (属性名称选择器)
driver.find_elements(By.CSS_SELECTOR, "a[href*='selenium']") (部分属性值选择器,href 以 https 开头)
driver.find_elements(By.CSS_SELECTOR, "a") (标签名选择器)
driver.find_elements(By.CSS_SELECTOR, ".product-card:nth-child(3)") (伪类选择器)
driver.find_elements(By.CSS_SELECTOR, "div.product-list > div.product-card") (父子层级)
特点:浏览器原生支持,语法简洁,定位速度通常比 XPath 更快。常用符号:^= 开头 $= 结尾 *= 包含。
实操练习:By.CSS_SELECTOR → 查看 Selenium 代码与执行结果
CSS 选择器练习商品卡 & 操作按钮(仅 loc-practice-area)
Selenium 速通
书籍类
¥199
Appium 移动端
热门 · 视频类
¥159
接口自动化
视频类
¥299
CSS 选择器练习提示条目(li):
  • ID 选择器:#id 精准匹配(优先级最高)
  • 多 class:.a.b 需两个 class 同时存在
  • 属性匹配:[data-category="book"] 精确值 =
  • 层级:父 > 子 / 后代 空格 选择器
  • 数值:dataset.price 需用 Number() 转后过滤

商品卡片列表(CSS 选择器演示)

Python 自动化实战
Selenium + Pytest 全解
¥299
接口自动化高级篇
Requests + Allure 报告
¥399
性能测试 JMeter
从入门到压测实战
¥199
Appium 移动端测试
Android + iOS 双端
¥159
面试通关宝典
软件测试高频 300 题
¥99
CSS 选择器实战技巧
  • ID 选择器:#idValue,比 XPath 更简洁。
  • 多 class:.product-card.featured 同时包含两个 class。
  • 属性匹配:[attr='val'] 完全等于,[attr*='val'] 包含,[attr^='pre'] 开头。
  • 层级关系:空格后代,> 直接子元素,+ 相邻兄弟。
定位后操作效果展示区域
本区域用于展示:使用 Selenium / JS 定位到上方元素后,执行「点击 / 输入 / 提交」等操作的真实反馈结果。