元素定位演示 · 标签名定位

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

首页 定位导航

By.TAG_NAME 定位导读

By.TAG_NAME 是 Selenium 中最基础的元素定位方式,通过 HTML 标签名(如 div、input、a、li)进行定位。标签名是 DOM 树的骨架,一个页面上同一种标签往往有成百上千个(比如 div、span),因此 By.TAG_NAME 几乎不可能单独用来定位某个特定元素。它的真正价值在于:配合 WebElement 缩小搜索范围 — 先定位到一个容器元素(如某个 ul 列表),再在这个范围内用 find_elements(By.TAG_NAME, 'li') 取出该容器下所有 li 子元素,实现层级查找。单独使用时,find_element(By.TAG_NAME, '标签名') 只返回 DOM 中第一个匹配元素(几乎永远不是你想要的那个);find_elements(By.TAG_NAME, '标签名') 返回页面上全部匹配元素的列表,需要自行遍历或按索引筛选。

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

④ 标签名定位

通过 HTML 标签名定位(通常返回多个元素)
定位语法:
单个元素 (find_element)
driver.find_element(By.TAG_NAME, "h1")(匹配第一个h1标签元素)
driver.find_element(By.TAG_NAME, "title")(匹配第一个title标签元素)
多个元素 (find_elements)
driver.find_elements(By.TAG_NAME, "a")(获取所有a标签元素)
driver.find_elements(By.TAG_NAME, "input")(获取所有input标签元素)
driver.find_elements(By.TAG_NAME, "li")(获取所有li标签元素)
特点:标签名定位常用于批量获取同类元素,绝大多数场景配合 find_elements 使用。
实操练习:By.TAG_NAME → 查看 Selenium 代码与执行结果
📦 电商后台 · 商品管理页面
商品分类: 手机数码 家用电器 服装鞋帽 食品饮料 美妆护肤
商品图 商品名称 分类 价格 库存 操作
iPhone 15 iPhone 15 Pro Max 手机数码 ¥9,999 128
MacBook MacBook Pro 14" 家用电器 ¥14,999 56
AirPods AirPods Pro 2 手机数码 ¥1,899 8
📊 运营数据
  • 总商品数 1,286 ▲ 较上周 +12%
  • 今日新增 23 ▲ 较昨日 +8%
  • 待上架 15 ▼ 较昨日 -3
  • 缺货预警 8 ⚠ 需尽快补货

💡 使用 By.TAG_NAME, "table" 定位整个商品表格,用 "tr" 获取每行数据。

💡 使用 By.TAG_NAME, "img" 获取所有商品图片,用 "button" 批量点击编辑。

标题标签(h1~h6)

H1 - 一级标题

H2 - 二级标题

H3 - 三级标题

段落标签(p)

段落 1:第一个 p 标签,可用 find_element 定位或者用 find_elements 获取列表加上索引 0 定位。

段落 2:第二个 p 标签,可用 find_elements 获取列表加上索引 1 定位。

段落 3:第三个 p 标签,可用 find_elements 获取列表加上索引 2 定位。

列表标签(ul/ol/li)

  • 无序列表项 A - 第 1 个 li
  • 无序列表项 B - 第 2 个 li
  • 无序列表项 C - 第 3 个 li
  1. 有序列表项 ①
  2. 有序列表项 ②
  3. 有序列表项 ③

图片标签(img)

示例图片

表格标签(table/tr/td/th)

序号 课程名称 标签名 说明
1Selenium 基础tr / td表格行与单元格
2元素定位tr / td用 XPath 定位表格
3元素操作tr / td表格操作场景
标签定位使用提示
  • 返回多个:同一标签名往往对应多个元素,优先使用 find_elements() 返回列表。
  • 组合使用:先通过 ID/class 定位父元素,再在父元素下通过 tag_name 定位会更精确。
  • 常见场景:获取所有链接 a、所有输入框 input、所有按钮 button。
定位后操作效果展示区域
本区域用于展示:使用 Selenium / JS 定位到上方元素后,执行「点击 / 输入 / 提交」等操作的真实反馈结果。

关于我们

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