Cómo hacer clic en la imagen en Selenium controlador web
⚡ Resumen inteligente
Haga clic en la imagen en Selenium WebDriver requiere el uso de selectores CSS o estrategias XPath, ya que los elementos de imagen no muestran el texto del enlace. Este artículo explica cómo localizar la imagen, activar la acción de clic y verificar que la navegación se haya realizado correctamente.

Hacer clic en una imagen en Selenium WebDriver es una tarea común cuando un icono, logotipo o miniatura funciona como enlace de navegación. Dado que las imágenes no contienen texto visible, los localizadores de texto de enlace tradicionales no son suficientes y se requiere una estrategia de selección más fiable.
Acceder a enlaces de imágenes
Los enlaces de imagen son anclas en las páginas web representadas por una imagen que, al hacer clic, redirige el navegador a una ventana o página diferente.
Debido a que son imágenes, no podemos usar los métodos By.linkText() y By.partialLinkText() porque los enlaces de imagen no tienen ningún texto de enlace.
En este caso, deberíamos recurrir a By.cssSelector o By.xpath. El primer método suele ser el preferido por su simplicidad y legibilidad.
En el siguiente ejemplo, accederemos al logotipo de "Facebook" en la parte superior izquierda de la página de recuperación de contraseña de Facebook.
Usaremos By.cssSelector y el atributo “title” del elemento para acceder al enlace de la imagen. Luego verificaremos que el navegador haya sido redirigido a la página principal de Facebook.
Java Code Ejemplo
Las siguientes Selenium El fragmento de código de WebDriver inicia Chrome, abre la página de recuperación de contraseña de Facebook, hace clic en la imagen del logotipo de Facebook y verifica el título de la página resultante.
package newproject;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class MyClass {
public static void main(String[] args) {
String baseUrl = "https://www.facebook.com/login/identify?ctx=recover";
System.setProperty("webdriver.chrome.driver", "G:\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get(baseUrl);
// click on the "Facebook" logo on the upper left portion
driver.findElement(By.cssSelector("a[title=\"Go to Facebook home\"]")).click();
// verify that we are now back on Facebook's homepage
if (driver.getTitle().equals("Facebook - log in or sign up")) {
System.out.println("We are back at Facebook's homepage");
} else {
System.out.println("We are NOT in Facebook's homepage");
}
driver.close();
}
}
Resultado
Mejores prácticas para tomar fotos
Algunos hábitos hacen que la automatización de clics en imágenes sea más fiable en diferentes navegadores y tamaños de pantalla.
- Es preferible utilizar un atributo estable como title, alt, aria-label o data-* en lugar de rutas CSS anidadas en profundidad.
- Agregue un WebDriverWait explícito para ElementToBeClickable antes de realizar el clic.
- Para imágenes de carga diferida, desplace el elemento para que sea visible con JavascriptPrimero el albacea.
- Si una superposición transparente intercepta el clic, vuelva a una JavaEl script hace clic en el elemento subyacente.
- Valide la navegación con driver.getTitle() o con un elemento único en la página de destino.
Cómo la IA mejora las estrategias de localización de imágenes
Herramientas de prueba asistidas por IA, como TestimMabl y Healenium analizan el DOM alrededor de una imagen y proponen localizadores autorreparables. Cuando un nombre de clase o atributo cambia después de una versión, el framework reemplaza automáticamente la alternativa más estable, lo que reduce los fallos intermitentes en la navegación basada en iconos.
Los ingenieros también pueden usar ChatGPT o GitHub Copilot para generar fragmentos de código WebDriver, sugerir expresiones CSS o XPath robustas para una imagen y redactar aserciones para la página que se carga tras el clic. El código generado debe revisarse para comprobar su corrección y el manejo de esperas y superposiciones.
Conclusión
Hacer clic en los enlaces de las imágenes en Selenium WebDriver es sencillo una vez que se elige un localizador estable. El método By.cssSelector con el atributo title o alt es el más legible, By.xpath es la alternativa cuando el marcado es complicado, y las esperas explícitas hacen que el script sea fiable en distintas ejecuciones.

.png)
.png)