Kuidas klõpsata pildil Selenium Veebidraiver
⚡ Nutikas kokkuvõte
Klõpsake pildil Selenium WebDriver nõuab CSS-i selektori või XPath-strateegiaid, kuna pildielemendid ei kuva lingi teksti. See artikkel selgitab, kuidas pilti leida, klõpsamistoimingut käivitada ja navigeerimise õnnestumist kontrollida.

Pildi klõpsamine Selenium WebDriver on tavaline ülesanne, kui ikoon, logo või pisipilt käitub navigeerimislingina. Kuna piltidel pole nähtavat teksti, siis traditsioonilised lingi-teksti lokaatorid ebaõnnestuvad ja on vaja usaldusväärsemat valikustrateegiat.
Juurdepääs pildilinkidele
Pildilingid on veebilehtedel olevad ankrud, mida esindab pilt, millele klõpsamisel suunatakse brauser teisele aknale või lehele.
Kuna tegemist on piltidega, ei saa me kasutada meetodeid By.linkText() ja By.partialLinkText(), sest pildilinkidel puudub üldse lingitekst.
Sellisel juhul peaksime kasutama kas By.cssSelectorit või By.xpath'i. Esimest meetodit eelistatakse üldiselt selle lihtsuse ja loetavuse tõttu.
Allolevas näites pääseme juurde Facebooki parooli taastamise lehe vasakpoolses ülanurgas olevale Facebooki logole.
Pildi lingile ligipääsemiseks kasutame By.cssSelectorit ja elemendi atribuuti „title“. Seejärel kontrollime, kas brauser on suunatud Facebooki avalehele.
Java Code Näide
Järgmised Selenium WebDriveri koodijupp käivitab Chrome'i, avab Facebooki parooli taastamise lehe, klõpsab Facebooki logo pildil ja kinnitab saadud lehe pealkirja.
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();
}
}
Tulemus
Piltide klõpsamise parimad tavad
Mõned harjumused muudavad piltide klõpsamise automatiseerimise usaldusväärsemaks erinevates brauserites ja ekraanisuurustes.
- Eelista sügavalt pesastatud CSS-teede asemel stabiilset atribuuti, näiteks title, alt, aria-label või data-*.
- Enne klõpsamise sooritamist lisage ElementToBeClickable jaoks selgesõnaline WebDriverWait.
- Laisalt laaditud piltide puhul kerige element nähtavale klahviga JavascriptTestamenditäitja kõigepealt.
- Kui läbipaistev kiht klõpsu katkestab, naasege JavaSkripti klõps aluselemendil.
- Kinnitage navigeerimine funktsiooniga driver.getTitle() või sihtkoha lehel oleva unikaalse elemendi abil.
Kuidas tehisintellekt täiustab piltide asukoha määramise strateegiaid
Tehisintellekti abil töötavad testimisvahendid, näiteks Testim, Mabl ja Healenium analüüsivad pildi ümber olevat DOM-i ja pakuvad välja isetervendavaid lokaatoreid. Kui klassi nimi või atribuut pärast väljalaset muutub, vahetab raamistik automaatselt kõige stabiilsema alternatiivi vastu, mis vähendab ikoonipõhise navigeerimise ebastabiilseid tõrkeid.
Insenerid saavad ChatGPT-d või GitHub Copiloti kasutada ka WebDriveri koodijuppide genereerimiseks, pildi jaoks usaldusväärsete CSS- või XPath-avaldiste soovitamiseks ja pärast klõpsamist laadiva lehe väidete mustandite loomiseks. Genereeritud koodi õigsust ning ooteaegade ja ülekattekihtide käsitlemist tuleks siiski kontrollida.
Järeldus
Piltide linkidele klõpsamine Selenium WebDriver on lihtne, kui valid stabiilse lokaatori. By.cssSelector koos atribuudiga title või alt on kõige loetavam lähenemisviis, By.xpath on varuvariant ebamugava märgistuse korral ja selged ooteajad muudavad skripti töökindlaks erinevate käivitamiste vahel.

.png)
.png)