Qué son los Localizadores en Selenium

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!


Descubre más desde CIBERED

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Deja un comentario