元素定位全攻略

Selenium 8 种常规定位方法 + JavaScript 定位,每种方法都配有 演示 · 练习 · 作业

9
种定位方式
27
学习入口
3
学习阶段

9 种元素定位方法

从最精准的 By.ID 到最灵活的 XPath / CSS / JS,循序渐进掌握

01

By.ID

find_element(By.ID, "id值")

通过元素的 id 属性定位,最精准、最推荐的定位方式。前提:页面元素必须有唯一的 id 属性值。

02

By.NAME

find_element(By.NAME, "name值")

通过元素的 name 属性定位,常用于表单元素(input/select/textarea)。注意:name 可能不唯一。

03

By.CLASS_NAME

find_element(By.CLASS_NAME, "类名")

通过元素的 class 属性定位,适合批量获取同类元素(需 find_elements)。多个 class 只能写一个。

04

By.TAG_NAME

find_element(By.TAG_NAME, "tag名")

通过 HTML 标签名定位(如 div、input、a、button)。页面中同标签元素很多,一般配合 find_elements 使用。

05

By.LINK_TEXT

find_element(By.LINK_TEXT, "完整文本")

专门定位 a 标签,通过链接的完整文本匹配。注意:必须精确匹配链接显示的全部文字。

06

By.PARTIAL_LINK_TEXT

find_element(By.PARTIAL_LINK_TEXT, "部分文本")

By.LINK_TEXT 的模糊版,只需匹配链接文本的一部分。适合链接文本较长、需要灵活匹配的场景。

07

By.XPATH

find_element(By.XPATH, "//div[@id='xx']")

最强大的定位方式,支持绝对路径、相对路径、属性匹配、层级遍历、文本匹配、轴定位等。万能但稍复杂。

08

By.CSS_SELECTOR

find_element(By.CSS_SELECTOR, "#id .class")

用 CSS 选择器语法定位元素,语法简洁、执行速度快。支持 id/#、class/.、属性 []、伪类等。

09

JavaScript 定位

execute_script("return document.querySelector(...)")

通过 execute_script 执行原生 JS 定位,可突破 Selenium 限制(如 Shadow DOM、动态 iframe 内元素),终极杀招。

综合:9 种定位一网打尽

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