元素定位练习 · ID 属性定位

练习 By.ID 定位方法的核心实操与效果验证

首页 定位导航

练习说明

本页面提供 By.ID 定位方法的完整练习场景。页面包含练习要求描述卡(方法概念 + Selenium 示例 + 练习清单)和定位后操作效果展示区域,在输入框输入内容、点击按钮、勾选选择框时,效果展示区会实时显示对应卡片。

方法 1:By.ID — 通过 id 属性定位

利用元素全局唯一的 id 属性直接定位,是最稳定、最快的定位方式之一。

练习要求 · 方法 1:By.ID
📌 方法概念
原理:通过 id 属性全局唯一定位单个元素;浏览器原生对 id 查询做了底层优化(哈希表),因此执行速度最快、结果最稳定。
适用场景:元素 id 唯一、不动态变化、语义明确的场景(按钮、输入框、表单、搜索框)。
注意事项:需确认 id 在整个 HTML 中全局唯一;动态生成的 id(如 j_id123、带随机数字的)不要用;优先找带有业务语义的 id。
💻 Selenium 示例(Python)
from selenium import webdriver
from selenium.webdriver.common.by import By
# 1) 定位单个按钮(登录按钮 / 提交按钮 / 搜索按钮)
driver.find_element(By.ID, "attr_id_btn_login").click()
# 2) 定位搜索框输入关键词后回车
driver.find_element(By.ID, "attr_id_search_input").send_keys("Selenium入门")
# 3) 先通过父容器 ID 定位 再找子元素(组合定位)
form = driver.find_element(By.ID, "attr_id_login_form")
form.find_element(By.ID, "attr_id_login_user").send_keys("admin")
📋 本节练习清单
  • ✅ 练习目标 1:登录表单 — 首先定位用户名输入框并输入用户名 By.ID, "attr_id_login_user";接着定位密码输入框并输入密码 By.ID, "attr_id_login_pwd";然后定位并勾选“7天内记住我”复选框By.ID, "attr_id_remember_me";最后定位并点击登录按钮 By.ID, "attr_id_btn_login"
  • ✅ 练习目标 2:搜索框 — 首先定位搜索框并输入关键词 By.ID, "attr_id_search_input";接着定位搜索按钮并点击 By.ID, "attr_id_btn_search";拓展:用 get_attribute("value") 读取搜索框当前值
  • ✅ 练习目标 3:商品面板 + 购物车 — 首先定位并点击任意商品「加入购物车」按钮;接着观察购物车数量变化 By.ID, "attr_id_cart_count";最后观察购物车状态文字变化 By.ID, "attr_id_cart_status"

练习目标 1:登录表单(id="attr_id_login_form")

操作步骤:
① 定位用户名 → driver.find_element(By.ID, "attr_id_login_user").send_keys("admin")
② 定位密码 → driver.find_element(By.ID, "attr_id_login_pwd").send_keys("123456")
③ 定位记住我复选框 → driver.find_element(By.ID, "attr_id_remember_me").click()
④ 定位登录按钮 → driver.find_element(By.ID, "attr_id_btn_login").click(),观察 Toast 提示


练习目标 2:搜索框(id="attr_id_search_input" / "attr_id_btn_search")

操作步骤:
① 定位搜索框输入关键词 → driver.find_element(By.ID, "attr_id_search_input").send_keys("Pytest")
② 定位搜索按钮点击 → driver.find_element(By.ID, "attr_id_btn_search").click(),观察结果面板显示匹配关键词的商品
③ 拓展:读取搜索框当前值 → driver.find_element(By.ID, "attr_id_search_input").get_attribute("value")

热门搜索: Selenium 元素定位 Pytest 单元测试 自动化测试框架 XPath 轴定位 CSS 选择器伪类

练习目标 3:商品面板 + 购物车(id="attr_id_cart_count" / "attr_id_cart_status")

操作步骤:
① 点击任意商品卡片的「加入购物车」按钮,观察效果区记录
② 验证数量累加 → driver.find_element(By.ID, "attr_id_cart_count").text
③ 验证状态文字 → driver.find_element(By.ID, "attr_id_cart_status").text

购物车目前是空的。
共 0 件商品
HOTNEW
Selenium 自动化实战
Python + Pytest 全套教程
¥299
HOT
接口自动化高级篇
Requests + Allure 报告实战
¥399
NEW
性能测试 JMeter
从入门到压测实战
¥199
HOTNEW
测试开发架构师
平台开发 + 持续集成
¥499

定位后操作效果展示区域

本区域用于展示:使用 By.ID 定位到上方登录框/搜索框/商品加购按钮后执行操作的真实反馈结果。

当前尚无操作记录

请尝试:① 填写登录表单并点击登录 ② 在搜索框输入关键词点击搜索或点击热词 ③ 点击商品卡片「加入购物车」。


关于我们

Python 自动化测试学习平台是一个面向软件测试工程师、开发人员及在校学生的交互式在线学习平台,专注于 Selenium WebDriver 与 Python unittest 自动化测试技能的教学与实践。

我们以"理论 + 实战 + 可交互演示"为核心特色,将八种常规元素定位和Javascript定位、元素操作、自动化测试工具、单元测试、测试模型等知识体系拆分为模块化课程,每个模块都配有可点击、可输入、可运行的模拟练习页面。

平台致力于降低自动化测试的入门门槛,让学习者从"看懂代码"到"动手实操",逐步掌握企业级自动化测试框架的设计与落地能力。

联系方式

📧邮箱:lq@selenium-auto-test.com

📞电话:0755-12345678

📍地址:深圳

💬微信公众号:Selenium自动化测试

🐙GitHub:github.com/selenium-auto-test

免责声明

1. 本平台所有示例代码、演示页面及教程内容均仅供学习交流使用,不构成任何商业推广或技术服务承诺。

2. 平台中的 Selenium API 描述、Python 语法说明均以官方文档为准,如有版本差异请以对应官方文档为准。

3. 学习者在实际项目中应用平台所学内容时,应结合自身项目环境进行充分测试,本平台不对因直接使用示例代码而产生的任何直接或间接损失承担责任。

4. 本平台所引用的第三方库(Selenium、ChromeDriver、unittest 等)版权归其各自作者及维护者所有。

5. 如涉及版权问题或内容建议,请及时通过联系方式与我们沟通,我们将第一时间处理。