06 元素定位方式有哪些?你怎么选?
2026/9/8...大约 2 分钟
06|元素定位方式有哪些?你怎么选?
开场先报清单再讲选择:八种——id、name、class name、tag name、link text、partial link text、xpath、css selector。一口气报完再讲优先级,顺序感是基本功的体现。
回答思路
第一步:给选择优先级
id 最优先(唯一且稳定)→ 其次 name → 然后 css selector(语法简洁性能好)→ xpath 兜底(最灵活但也最容易被页面结构变化误伤)。这个优先级链是答案骨架。
第二步:css 和 xpath 的对比展开
- css 是主流浏览器的原生查询,通常更快
- xpath 能做方向查找(找父级、找兄弟),css 做不到——「往上找」的场景只能 xpath
两种都会写并能说出取舍才是真会。
第三步:举实例
给一段 HTML 现场口述定位思路:先看有没有唯一 id,没有看语义化属性,再考虑相对 xpath 从稳定锚点出发——边说边讲思考过程,比背清单值钱。
收尾:讲工程实践
定位器统一在 PO 类里管理,页面改了只改一处——定位策略散落在用例里是维护灾难的开始。
考察重点
| 维度 | 说明 |
|---|---|
| 企业动机 | 定位是 UI 自动化的第一块砖,也是日常改脚本最高频的工作——基础筛选题,答不利索后面不用聊了 |
| 过线标准 | 八种报全 + 有选择优先级 |
| 区分度 | 能对比 css 和 xpath 各自优劣、能现场口述定位思路的是天天写的;背完清单就停的是没独立处理过复杂页面 |
| 加分项 | 相对 xpath 从稳定锚点出发的思路,或定位器集中管理的工程习惯 |
| 减分项 | 说「用 xpath 全搞定」,不知道 xpath 的脆弱性 |
来源
整理自知识星球帖《面试情报 03|自动化测试 20 题》,返回题库。