Slik klikker du på bildet Selenium Webdriver
⚡ Smart oppsummering
Klikk på bildet i Selenium WebDriver krever CSS-selektor eller XPath-strategier fordi bildeelementer ikke eksponerer lenketekst. Denne artikkelen forklarer hvordan du finner bildet, utløser klikkhandlingen og bekrefter at navigasjonen lykkes.

Å klikke på et bilde i Selenium WebDriver er en vanlig oppgave når et ikon, en logo eller et miniatyrbilde oppfører seg som en navigasjonslenke. Fordi bilder ikke har synlig tekst, mislykkes tradisjonelle lenketekstsøkere, og en mer pålitelig selektorstrategi er nødvendig.
Få tilgang til bildelenker
Bildelenker er ankere på nettsider representert av et bilde som, når det klikkes på det, navigerer nettleseren til et annet vindu eller en annen side.
Fordi de er bilder, kan vi ikke bruke metodene By.linkText() og By.partialLinkText() fordi bildelenker ikke har noen lenketekst i det hele tatt.
I dette tilfellet bør vi ty til å bruke enten By.cssSelector eller By.xpath. Den første metoden er generelt foretrukket på grunn av dens enkelhet og lesbarhet.
I eksemplet nedenfor får vi tilgang til "Facebook"-logoen øverst til venstre på Facebooks passordgjenopprettingsside.
Vi bruker By.cssSelector og elementets «title»-attributt for å få tilgang til bildelenken. Deretter bekrefter vi at nettleseren har blitt tatt til Facebooks hjemmeside.
Java Code Eksempel
Følgende Selenium WebDriver-kodebiten starter Chrome, åpner siden for gjenoppretting av Facebook-passord, klikker på Facebook-logobildet og bekrefter den resulterende sidetittelen.
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();
}
}
Resultat
Beste fremgangsmåter for å klikke på bilder
Noen få vaner gjør automatisering av bildeklikk mer pålitelig på tvers av nettlesere og skjermstørrelser.
- Foretrekk et stabilt attributt som title, alt, aria-label eller data-* fremfor dypt nestede CSS-stier.
- Legg til en eksplisitt WebDriverWait for ElementToBeClickable før du utsteder klikket.
- For bilder som lastes inn sent, bla elementet inn i visningen med JavascriptEksekutor først.
- Hvis et gjennomsiktig overlegg avskjærer klikket, gå tilbake til en JavaSkriptklikk på det underliggende elementet.
- Valider navigasjonen med driver.getTitle() eller et unikt element på målsiden.
Hvordan AI forbedrer strategier for bildelokalisering
AI-assisterte testverktøy som Testim, Mabl og Healenium analyserer DOM-en rundt et bilde og foreslår selvreparerende lokatorer. Når et klassenavn eller attributt endres etter en utgivelse, bytter rammeverket automatisk til det mest stabile alternativet, noe som reduserer ustabile feil på ikonbasert navigasjon.
Ingeniører kan også bruke ChatGPT eller GitHub Copilot til å generere WebDriver-kodebiter, foreslå robuste CSS- eller XPath-uttrykk for et bilde og utarbeide påstander for siden som lastes inn etter klikket. Generert kode bør fortsatt gjennomgås for korrekthet og for håndtering av ventinger og overlegg.
Konklusjon
Klikke på bildelenker i Selenium WebDriver er enkelt når du velger en stabil locator. By.cssSelector med title- eller alt-attributtet er den mest lesbare tilnærmingen, By.xpath er reserve når markupen er vanskelig, og eksplisitte ventetider gjør skriptet pålitelig på tvers av kjøringer.

.png)
.png)