Comment cliquer sur une image dans Selenium Pilote Web

Accéder aux liens d'images

Les liens d’image sont les liens dans les pages Web représentés par une image qui, une fois cliquée, permet d’accéder à une autre fenêtre ou page.

Puisqu'il s'agit d'images, nous ne pouvons pas utiliser les méthodes By.linkText() et By.partialLinkText() car les liens d'image n'ont fondamentalement aucun texte de lien.

Dans ce cas, nous devrions recourir à By.cssSelector ou By.xpath. La première méthode est préférable en raison de sa simplicité.

Dans l'exemple ci-dessous, nous accéderons au logo « Facebook » dans la partie supérieure gauche de la page de récupération de mot de passe de Facebook.

Accéder aux liens d'images

Nous utiliserons By.cssSelector et l'attribut « title » de l'élément pour accéder au lien de l'image. Et puis nous vérifierons si nous sommes redirigés vers la page d'accueil 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();		

    }		
}

Résultats

Cliquez sur l'image dans Selenium Pilote Web

Conclusion

Tout cela consiste à cliquer sur les images. L'accès au lien de l'image se fait à l'aide de By.cssSelector()