
元素定位是 UI 自动化的核心基石脚本 90% 的报错都来自定位失败、定位不稳定。本文详解 Selenium 官方八大定位方式包含适用场景、优缺点、实战选型、避坑技巧。一、八大定位方式分类ID、Name、Class Name、Tag Name、Link Text、Partial Link Text、XPath、CSS Selector。二、各定位方式实战讲解1. ID 定位首选、最稳定id 页面唯一、固定不变优先级最高稳定性最强优先使用。适用于所有带固定 id 的输入框、按钮、模块。2. Name 定位通过元素 name 属性定位适合表单元素缺点是页面可能重复稳定性次于 ID。3. Class Name 定位通过样式类名定位适合统一样式的元素注意 class 多值、动态变化问题容易重复。4. Tag Name 标签定位通过 html 标签定位input、div、span页面大量重复极少单独使用多用于批量元素获取。5. Link Text 超链接全匹配精准匹配链接完整文本只适用于 a 标签超链接文本固定时稳定性极高。6. Partial Link Text 超链接模糊匹配匹配链接部分文本适合超长文本、动态变化后缀的链接灵活度更高。7. XPath 定位万能定位企业最常用、适配所有元素支持绝对路径、相对路径、属性匹配、模糊匹配、层级定位解决无 id、无固定属性的元素定位问题。是复杂页面定位首选。8. CSS Selector 定位速度最快定位速度优于 XPath语法简洁适配前端页面规范元素适合批量定位、精准样式定位。三、企业定位选型优先级标准规范ID Name CSS XPath 其余方式优先用固定唯一属性尽量避免绝对路径定位绝对路径页面改动即失效。四、定位高频坑点避坑1. 动态 ID、随机 ID 不能用于定位2. 绝对路径极易失效必须用相对路径3. class 多值空格分隔不能直接全写4. 页面加载未完成导致定位不到元素5. iframe 嵌套导致定位失效。