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

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

首页 定位导航

练习说明

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

方法 2:By.NAME — 通过 name 属性定位

name 常用于表单元素(input[type=text/radio/checkbox/hidden] / select / textarea),是操作表单的首选。

练习要求 · 方法 2:By.NAME
📌 方法概念
原理:通过 HTML 元素的 name 属性定位;在表单提交时,name=value 会以键值对形式传递给后端,因此表单元素几乎都有 name。
适用场景:表单操作(输入文字、单选、多选、下拉选择、提交/重置)、同名多值元素(如 radio group 性别、checkbox 爱好)。
注意事项:name 可能不唯一,需使用 find_elements 取下标 [0]/[1]/[2] 或按 value 二次过滤;type=hidden 元素需 JS 才能设置。
💻 Selenium 示例(Python)
from selenium import webdriver
from selenium.webdriver.common.by import By
# 1) 定位用户名输入框(name="nameForm1_username")
driver.find_element(By.NAME, "nameForm1_username").send_keys("zhangsan")
# 2) 定位 radio group 选性别女(多个同名按下标)
genders = driver.find_elements(By.NAME, "nameForm1_gender")
for g in genders:
    if g.get_attribute("value") == "F": g.click()
# 3) 组合定位:name 表单容器 + 再找子元素
form = driver.find_element(By.ID, "nameForm1_form")
form.find_element(By.NAME, "nameForm1_submit").click()
📋 本节练习清单
  • ✅ 练习目标 1:新用户注册表单 — ① 填写姓名/邮箱/手机号/城市 By.NAME, "nameForm1_username" 等 4 个输入框 ② 勾选性别 radio(name=nameForm1_gender)和爱好 checkbox(name=nameForm1_hobby,可多选) ③ 勾选「同意用户协议」→ 点击提交按钮观察 Toast + 效果区记录

练习目标 1:新用户注册表单(By.NAME 定位各表单元素)

操作步骤:
① 填写 4 个输入框 → 姓名 driver.find_element(By.NAME, "nameForm1_username").send_keys("张三"),同理 邮箱 / 电话 / 城市
② 勾选性别 radio → find_elements(By.NAME, "nameForm1_gender") 再按下标或 value 过滤;爱好 checkbox(name=nameForm1_hobby)可多选
③ 勾选「同意用户协议」→ driver.find_element(By.NAME, "nameForm1_agree"),点击提交按钮观察 Toast + 效果区记录

新用户注册

练习 By.NAME 定位:单选框 radio、多选框 checkbox、下拉选中框 select、提交按钮

定位后操作效果展示区域

本区域用于展示:使用 By.NAME 定位到上方注册表单后,执行「输入 / 选单选 / 勾选多选 / 选择城市 / 提交注册」等操作的真实反馈结果。

当前尚无操作记录

请尝试:① 填写「姓名 / 邮箱 / 手机号」② 选择「性别」单选 ③ 勾选多个「兴趣爱好」 ④ 选择城市 + 同意条款 ⑤ 点击「提交注册」按钮。


关于我们

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. 如涉及版权问题或内容建议,请及时通过联系方式与我们沟通,我们将第一时间处理。