XPath-i abil FindElement Selenium
Miks vajate kรคsku Otsi element(id)?
Veebilehega suhtlemine nรตuab, et kasutaja tuvastaks veebielemendi asukoha. Otsi elementi kasutatakse (รผhe) veebielemendi unikaalseks tuvastamiseks veebilehel. Seevastu kรคsku Otsi elemente kasutatakse veebilehel olevate veebielementide loendi unikaalseks tuvastamiseks. Veebielemendi unikaalseks tuvastamiseks veebilehel on mitu vรตimalust, nรคiteks ID, nimi, klassi nimi, lingi tekst, osaline lingi tekst, sildi nimi ja XPATH.
FindElement kรคsu sรผntaks
WebElement elementName = driver.findElement(By.LocatorStrategy("LocatorValue"));
Selenium Kรคsk Find Element vรตtab parameetrina sisse objekti By ja tagastab objekti tรผรผbiloendiga WebElement in Selenium. Objekti jรคrgi saab omakorda kasutada erinevate lokaatoristrateegiatega, nรคiteks elemendi leidmine ID jรคrgi Selenium, nimi, klassi nimi, XPATH jne. Allpool on kรคsu FindElement sรผntaks Selenium veebidraiver.
Lokaatori strateegia vรตib olla mis tahes jรคrgmistest vรครคrtustest.
- ID
- Selenium otsi element nime jรคrgi
- Klassi nimi
- Sildi nimi
- tekst link
- Osaline lingi tekst
- XPATH
Lokaatori vรครคrtus on kordumatu vรครคrtus, mille abil saab veebielementi tuvastada. Arendajad ja testijad vastutavad selle eest, et veebielemendid oleksid teatud atribuutide (nt ID vรตi nime) abil รผheselt tuvastatavad.
Nรคide:
WebElement loginLink = driver.findElement(By.linkText("Login"));
Nรคide: otsige elementi Selenium
Jรคrgmist rakendust kasutatakse demo eesmรคrgil
https://demo.guru99.com/test/ajax.html
Stsenaarium:
Samm 1: Avage AUT
Samm 2: Otsige รผles ja klรตpsake raadionuppu
package com.sample.stepdefinitions;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class NameDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "D:\\3rdparty\\chrome\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://demo.guru99.com/test/ajax.html");
// Find the radio button for โNoโ using its ID and click on it
driver.findElement(By.id("no")).click();
//Click on Check Button
driver.findElement(By.id("buttoncheck")).click();
}
}
FindElementsi kรคsu sรผntaks
List<WebElement> elementName = driver.findElements(By.LocatorStrategy("LocatorValue"));
FindElements sisse Selenium kรคsk vรตtab parameetrina sisse objekti By ja tagastab veebielementide loendi. Tagastab tรผhja loendi, kui antud lokaatoristrateegia ja asukohavรครคrtuse abil elemente ei leitud. Allpool on kรคsu elementide leidmise sรผntaks.
Nรคide:
List<WebElement> listOfElements = driver.findElements(By.xpath("//div"));
Nรคide: otsige elemente Selenium
Stsenaarium:
Samm 1: Avage testitava rakenduse URL
Samm 1: Otsige รผles raadionuppude tekst ja printige see vรคljundkonsoolile
package com.sample.stepdefinitions;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class NameDemo {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://demo.guru99.com/test/ajax.html");
List<WebElement> elements = driver.findElements(By.name("name"));
System.out.println("Number of elements:" +elements.size());
for (int i=0; i<elements.size();i++){
System.out.println("Radio button text:" + elements.get(i).getAttribute("value"));
}
}
}
Otsi element Vs Otsi elemente
Allpool on toodud peamised erinevused elemendi otsimise ja elementide leidmise kรคskude vahel.

| Leidke element | Otsige elemente |
|---|---|
| Tagastab esimese kรตige veebielemendi, kui sama lokaatoriga on leitud mitu veebielementi | Tagastab veebielementide loendi |
| Viskab erandi NoSuchElementException, kui lokaatoristrateegiale vastavaid elemente pole | Tagastab tรผhja loendi, kui lokaatoristrateegiale vastavaid veebielemente pole |
| Otsi element XPathi abil leiab ainult รผhe veebielemendi | See leiab elementide kogumi, mis vastavad asukoha mรครคramise strateegiale. |
| Ei kasuta | Iga veebielement on indekseeritud numbriga, mis algab 0-st, nagu massiiv |
kokkuvรตte
- Elemendi otsimise kรคsk tagastab veebielemendi, mis vastab veebilehel kรตige esimesele elemendile.
- Kรคsk Find Elements tagastab kriteeriumidele vastavate veebielementide loendi.
- Leidke element XPathi jรคrgi Selenium kรคsk viskab NoSuchElementException, kui ta ei leia kriteeriumidele vastavat elementi.
- Elementide otsimise kรคsk tagastab tรผhja loendi Selenium kui kriteeriumidele vastavaid elemente pole
