Kako kliknuti na sliku u Selenium Webdriver
โก Pametni saลพetak
Kliknite na sliku u Selenium WebDriver zahtijeva CSS selektor ili XPath strategije jer elementi slike ne otkrivaju tekst poveznice. Ovaj ฤlanak objaลกnjava kako pronaฤi sliku, pokrenuti radnju klika i provjeriti je li navigacija uspjeลกna.

Klikom na sliku u Selenium WebDriver je uobiฤajen zadatak kada se ikona, logotip ili sliฤica ponaลกaju kao navigacijska poveznica. Buduฤi da slike ne sadrลพe vidljivi tekst, tradicionalni lokatori poveznica i teksta ne uspijevaju i potrebna je pouzdanija strategija odabira.
Pristup poveznicama za slike
Linkovi na slike su sidra na web stranicama predstavljena slikom koja, kada se klikne na nju, vodi preglednik na drugi prozor ili stranicu.
Buduฤi da su to slike, ne moลพemo koristiti metode By.linkText() i By.partialLinkText() jer poveznice na slike uopฤe nemaju tekst poveznice.
U ovom sluฤaju, trebali bismo se posluลพiti By.cssSelector ili By.xpath. Prva metoda je opฤenito poลพeljnija zbog svoje jednostavnosti i ฤitljivosti.
U donjem primjeru pristupit ฤemo logotipu โFacebookโ u gornjem lijevom dijelu Facebookove stranice za oporavak lozinke.
Koristit ฤemo By.cssSelector i atribut elementa "title" za pristup poveznici slike. Zatim ฤemo provjeriti je li preglednik preusmjeren na poฤetnu stranicu Facebooka.
Java Code Primjer
Sljedeฤe Selenium Isjeฤak WebDrivera pokreฤe Chrome, otvara stranicu za oporavak lozinke za Facebook, klikne na sliku logotipa Facebooka i potvrdi naslov rezultirajuฤe stranice.
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();
}
}
Proizlaziti
Najbolje prakse za klikanje na slike
Nekoliko navika ฤini automatizaciju klikova na slike pouzdanijom u razliฤitim preglednicima i veliฤinama zaslona.
- Dajte prednost stabilnom atributu kao ลกto su title, alt, aria-label ili data-* u odnosu na duboko ugnijeลพฤene CSS putanje.
- Dodajte eksplicitni WebDriverWait za ElementToBeClickable prije izdavanja klika.
- Za slike koje se uฤitavaju postupno, pomaknite element u prikaz pomoฤu JavascriptIzvrลกitelj prvo.
- Ako prozirni sloj presreฤe klik, vratite se na JavaKlik skripte na temeljni element.
- Validirajte navigaciju pomoฤu driver.getTitle() ili jedinstvenog elementa na odrediลกnoj stranici.
Kako umjetna inteligencija poboljลกava strategije lociranja slika
Alati za testiranje potpomognuto umjetnom inteligencijom, kao ลกto su Testim, Mabl i Healenium analiziraju DOM oko slike i predlaลพu lokatore s moguฤnoลกฤu samoobnavljanja. Kada se naziv klase ili atribut promijeni nakon objavljivanja, okvir automatski prebacuje na najstabilniju alternativu, ลกto smanjuje nestabilne pogreลกke pri navigaciji temeljenoj na ikonama.
Inลพenjeri takoฤer mogu koristiti ChatGPT ili GitHub Copilot za generiranje WebDriver isjeฤaka, predlaganje robusnih CSS ili XPath izraza za sliku i izradu tvrdnji za stranicu koja se uฤitava nakon klika. Generirani kod i dalje treba pregledati radi ispravnosti te rukovanja ฤekanjima i slojevima.
Zakljuฤak
Klikom na poveznice slika u Selenium WebDriver je jednostavan kada odaberete stabilan lokator. By.cssSelector s atributom title ili alt je najฤitljiviji pristup, By.xpath je rezervna opcija kada je oznaฤavanje nezgrapno, a eksplicitna ฤekanja ฤine skriptu pouzdanom tijekom izvoฤenja.

.png)
.png)