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.
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
Conclusione
Questo è tutto cliccando sulle immagini. L'accesso al collegamento dell'immagine viene effettuato utilizzando By.cssSelector()