Este artículo explica de forma sencilla y directa qué son los localizadores en Selenium WebDriver y por qué son la base de cualquier prueba automatizada.
Deberías aprender, a cómo identificar elementos web como botones, cuadros de texto o enlaces y los 8 tipos clásicos de localizadores: ID, Name, Class Name, Tag Name, Link Text y Partial Link Text, CSS Selector y XPath.
También conocerás que es un localizador relativo de Selenium 4, los que permiten encontrar elementos según su posición respecto a otros y verás ejemplos prácticos en Java para cada caso.
Por último, tienes un breve resumen de buenas prácticas para elegir los localizadores más confiables y evitar algunos errores habitualmente comunes.
Qué es un localizador
En Selenium WebDriver, los localizadores son estrategias o comandos que indican a Selenium qué elemento web (como un cuadro de texto, enlace o botón) debe interactuar.
Son la base de cualquier prueba automatizada: sin identificar correctamente los elementos, tu script NO podrá realizar ninguna acción.
Los localizadores permiten a Selenium encontrar e interactuar con los elementos en el Modelo de Objetos del Documento (DOM) de una página web, como ingresar texto, hacer clic en botones, seleccionar opciones de listas desplegables o verificar valores.
Por qué son importantes los localizadores
Permiten identificar elementos específicos en una página web y habilitan a Selenium para realizar operaciones como click, sendKeys, getText, entre otras.
La precisión de tu localizador define la fiabilidad de tu prueba: ¡localizador incorrecto, elemento incorrecto!
7 Localizadores clásicos de Selenium WebDriver
Esto son los 7 localizadores más usados con Selenium WebDriver: id, name, class name, tag name, link text y partial link text, selector css y xPath.
Ejemplos de cada tipo de localizador
1. Por ID
Cada elemento HTML puede tener un identificador único ID, por eso este es uno de los métodos más rápidos y confiables.
driver.findElement(By.id("email")).sendKeys("test@example.com");
2. Por Name
Se usa cuando los elementos tienen un atributo name definido, como en formularios. Localiza un elemento cuando utiliza un atributo NAME.
driver.findElement(By.name("userName")).sendKeys("Tutorial");
3. Por Class Name
Encuentra un elemento usando el valor del atributo class. Es útil si varios elementos comparten una misma clase CSS.
driver.findElement(By.className("inputtext")).click();
4. Por Tag Name
Busca elementos por su etiqueta HTML, como IMPUT, BUTTON, DIV, etc.
driver.findElement(By.tagName("button")).click();
5. Por Link Text / Partial Link Text
Solo funciona con enlaces de la etiqueta A. Busca el enlace por el texto visible que muestra.
driver.findElement(By.linkText("REGISTER")).click();
También se usa con enlaces, pero no requiere el texto completo: basta con una parte de él.
driver.findElement(By.partialLinkText("REG")).click();
6. Por CSS Selector
Permite localizar elementos con reglas CSS, combinando etiquetas, clases, ids o atributos.
driver.findElement(By.cssSelector("input#email"));
driver.findElement(By.cssSelector("input.inputtext[name='pass']"));
7. Por XPath
Usa rutas XPath para navegar por la estructura del HTML (DOM). Puede localizar elementos de manera muy específica, incluso con condiciones complejas.
driver.findElement(By.xpath("//input[@type='text' and @name='userName']"));
Localizadores Avanzados: Localizadores Relativos (Selenium 4)
Una de las adiciones más prácticas en Selenium 4 son los localizadores relativos, que permiten localizar elementos basándose en su posición visual relativa a otros elementos.
// Encontrar el campo de contraseña debajo del campo de nombre de usuario
WebElement passwordField = driver.findElement(
RelativeLocator.with(By.tagName("input"))
.below(usernameField)
);
// Encontrar el botón cancelar a la izquierda del botón enviar
WebElement cancelButton = driver.findElement(
RelativeLocator.with(By.tagName("button"))
.toLeftOf(submitButton)
);
// Encontrar etiqueta encima de un input (útil para validación de formularios)
WebElement label = driver.findElement(
RelativeLocator.with(By.tagName("label"))
.above(inputField)
.near(inputField, 50) // dentro de 50 píxeles
);
Buenas prácticas a la hora de elegir localizadores
✅ Orden preferible: ID → Name → CSS → XPath (siguiendo este orden de fiabilidad).
✅ Usar atributos únicos y estables (evitar clases dinámicas).
✅ Evitar localizadores frágiles que se rompen con cambios en la UI.
✅ Validar localizadores usando las herramientas de desarrollo del navegador antes de escribir el script.
Conclusión
Un localizador es, la forma en que Selenium encuentra elementos en la aplicación web y debes saber, que existen 7 tipos principales de localizadores, cada uno diseñado para un escenario diferente.
Los más confiables son el ID o el Name y los más poderosos, selector CSS y XPath.
CONSEJO FINAL: Dedica tu tiempo a practicar con las Herramientas de Desarrollo (F12) de tu navegador. ¡El dominar los localizadores es la vía más rápida de escribir scripts de automatización estables!
