Jak kliknąć obraz w Selenium Sterownik internetowy

Dostęp do łączy do obrazów

Łącza do obrazów to łącza na stronach internetowych reprezentowane przez obraz, który po kliknięciu powoduje przejście do innego okna lub strony.

Ponieważ są to obrazy, nie możemy używać metod By.linkText() i By.partialLinkText(), ponieważ łącza do obrazów w zasadzie nie mają żadnego tekstu.

W takim przypadku powinniśmy skorzystać z By.cssSelector lub By.xpath. Pierwsza metoda jest bardziej preferowana ze względu na jej prostotę.

W poniższym przykładzie uzyskamy dostęp do logo „Facebook” w lewej górnej części strony odzyskiwania hasła na Facebooku.

Dostęp do łączy do obrazów

Aby uzyskać dostęp do łącza do obrazu, użyjemy By.cssSelector i atrybutu „title” elementu. Następnie sprawdzimy, czy zostaniemy przeniesieni na stronę główną Facebooka.

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();		

    }		
}

Wynik

Kliknij opcję Obraz w Selenium Sterownik internetowy

Podsumowanie

Wszystko po to, aby kliknąć obrazy. Dostęp do łącza obrazu odbywa się za pomocą By.cssSelector()