Haga clic en Imagen en Selenium controlador web

Acceder a enlaces de imágenes

Los enlaces de imágenes son enlaces en páginas web representadas por una imagen que, al hacer clic en ella, navega a una ventana o página diferente.

Como son imágenes, no podemos usar los métodos By.linkText() y By.partialLinkText() porque los enlaces de imágenes básicamente no tienen ningún texto de enlace.

En este caso, deberíamos recurrir al uso de By.cssSelector o By.xpath. El primer método es más preferido debido a su simplicidad.

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.

Acceder a enlaces de imágenes

Usaremos By.cssSelector y el atributo "título" del elemento para acceder al enlace de la imagen. Y luego verificaremos si somos redirigidos a la página de inicio de Facebook.

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

Haga clic en Imagen en Selenium controlador web

Conclusión

Todo esto es para hacer clic en imágenes. El acceso al enlace de la imagen se realiza mediante By.cssSelector()

Resumir este post con: