Miks vajate käsku Element / s leidmine?
Veebilehega suhtlemiseks peab kasutaja veebielemendi leidma. Käsku Elementi kasutatakse (ühe) veebielemendi unikaalseks tuvastamiseks veebilehel. Seevastu käsku Otsi elemente kasutatakse veebisaidil olevate veebielementide loendi kordumatuks tuvastamiseks. Veebilehe veebielemendi kordumatuks tuvastamiseks on mitu võimalust, näiteks ID, nimi, klassi nimi, lingitekst, osaline lingitekst, sildi nimi ja XPATH.
FindElementi käsu süntaks:
Selenium Find Elementi käsk võtab parameetriks objekti By ja tagastab seleenis objekti tüüpi loendi WebElement. Objekti kaupa saab omakorda kasutada mitmesuguste lokaatoristrateegiatega, näiteks elemendi leidmine ID-seleeni, nime, klassi nime, XPATH-i järgi. Allpool on käsu FindElement süntaks Seleeni veebidraiveris.
WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));
Lokaatori strateegia võib olla üks järgmistest väärtustest.
- ID
- Seleeni leidmise element nime järgi
- Klassi nimi
- Sildi nimi
- Lingi tekst
- Osaline lingitekst
- XPATH
Lokaatori väärtus on kordumatu väärtus, mille abil saab veebielemendi tuvastada. Arendajate ja testijate kohustus on veenduda, et veebielemendid oleksid ainulaadselt tuvastatavad, kasutades teatud omadusi, näiteks ID või nimi.
Näide:
WebElement loginLink = driver.findElement (By.linkText ("Logi sisse"));
FindElements käsu süntaks:
Käsk FindElements in Selenium võtab parameetriks objekti By ja tagastab veebielementide loendi. See tagastab tühja loendi, kui antud lokaatori strateegiat ja lokaatori väärtust kasutades ei leidu elemente. Allpool on käsu find elements süntaks.
LoendelementNimi = driver.findElements (By.LocatorStrategy ("LocatorValue"));
Näide:
LoendlistOfElements = draiver.findElements (By.xpath ("// div"));
Leidke element Vs Leidke elemendid
Allpool on toodud suuremad erinevused leidmiselemendi ja leidmiselemendi käskude vahel.

Leidke element | Leidke elemendid |
---|---|
Tagastab esimese kõige suurema veebielemendi, kui sama lokaatoriga on leitud mitu veebielementi | Tagastab veebielementide loendi |
Viskab erandi NoSuchElementException, kui lokaatori strateegiale vastavaid elemente pole | Tagastab tühja loendi, kui lokaatori strateegiale vastavaid veebielemente pole |
Leidke element XPathi abil ainult üks veebielement | See leiab kogumi elemente, mis vastavad lokatori strateegiale. |
Ei ole kohaldatav | Iga veebielement indekseeritakse arvuga, mis algab 0-st nagu massiiv |
Näide: kuidas kasutada käsku Leia element
Järgmist rakendust kasutatakse demo eesmärgil
http://demo.guru99.com/test/ajax.html
Stsenaarium:
1. Avage AUT
2. Leidke raadionupp ja klõpsake seda
pakett com.sample.stepdefinitions;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;avaliku klassi nimiDemo {public staatiline void main (String [] args) {// TODO Automaatselt loodud meetodi tüviSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");WebDriveri draiver = uus ChromeDriver ();draiver.halda (). aken (). maksimeeri ();driver.get ("http://demo.guru99.com/test/ajax.html");// Leidke raadionupp „Ei“ selle ID abil ja klõpsake selleldriver.findElement (By.id ("ei")). klõpsake ();// Klõpsake nuppu Kontrollidriver.findElement (By.id ("nupuvajutus")). klõpsake ();}}
Näide: kuidas kasutada käsku Leia elemendid
Stsenaarium:
1. Avage testitava rakenduse URL
2. Leidke raadionuppude tekst ja printige see väljundkonsoolile
pakett 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;avaliku klassi nimiDemo {public staatiline void main (String [] args) {System.setProperty ("veebidraiver.chrome.driver", "X: //chromedriver.exe");WebDriveri draiver = uus ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Nimekirielemendid = driver.findElements (By.name ("nimi"));System.out.println ("Elementide arv: + elements.size ());for (int i = 0; i Kokkuvõte:
- Käsk Leia element tagastab veebielemendi, mis sobib veebilehe esimese kõige suurema elemendiga.
- Käsk Leia elemendid tagastab kriteeriumidele vastavate veebielementide loendi.
- Kui leiad elementi kriteeriumidele vastava, viskab käsk Selenium käsu Selenium abil elemendi XPath abil käsu NoSuchElementException.
- Käsk Leia elemendid tagastab seleenis tühja loendi, kui kriteeriumidele vastavaid elemente pole