Come fare clic sull'immagine in Selenium Webdriver

Accesso ai collegamenti immagine

I collegamenti alle immagini sono i collegamenti nelle pagine Web rappresentati da un'immagine che, se cliccata, consente di accedere a una finestra o pagina diversa.

Poiché si tratta di immagini, non possiamo utilizzare i metodi By.linkText() e By.partialLinkText() perché i collegamenti immagine sostanzialmente non hanno alcun testo di collegamento.

In questo caso, dovremmo ricorrere all'utilizzo di By.cssSelector o By.xpath. Il primo metodo è quello più preferito per la sua semplicità.

Nell'esempio seguente, accederemo al logo "Facebook" nella parte in alto a sinistra della pagina di recupero password di Facebook.

Accesso ai collegamenti immagine

Utilizzeremo By.cssSelector e l'attributo "titolo" dell'elemento per accedere al collegamento dell'immagine. E poi verificheremo se siamo portati alla home page di 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();		

    }		
}

Risultato

Fare clic su Immagine in Selenium Webdriver

Conclusione

Questo è tutto cliccando sulle immagini. L'accesso al collegamento dell'immagine viene effettuato utilizzando By.cssSelector()