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.
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
Podsumowanie
Wszystko po to, aby kliknąć obrazy. Dostęp do łącza obrazu odbywa się za pomocą By.cssSelector()