Zakaj potrebujete ukaz Find Element / s?
Za interakcijo s spletno stranjo mora uporabnik poiskati spletni element. Ukaz Find Element se uporablja za enolično prepoznavanje (enega) spletnega elementa na spletni strani. Ukaz Find Elements se uporablja za enolično identifikacijo seznama spletnih elementov na spletni strani. Obstaja več načinov za enolično prepoznavanje spletnega elementa na spletni strani, kot so ID, ime, ime razreda, besedilo povezave, delno besedilo povezave, ime oznake in XPATH.
Sintaksa ukaza FindElement:
Ukaz Selenium Find Element za parameter vzame objekt By in vrne objekt s seznamom vrst WebElement v programu Selenium. Po vrsti se lahko po vrsti uporablja z različnimi lokacijskimi strategijami, kot je iskanje elementa po ID-ju Selenium, Ime, Ime razreda, XPATH itd. Spodaj je sintaksa ukaza FindElement v spletnem gonilniku Selenium.
WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));
Locator Strategy je lahko katera koli od naslednjih vrednosti.
- ID
- Element za iskanje selena po imenu
- Ime predavanja
- Ime oznake
- Besedilo povezave
- Besedilo delne povezave
- XPATH
Locator Value je edinstvena vrednost, s pomočjo katere je mogoče prepoznati spletni element. Odgovornost razvijalcev in preizkuševalcev je zagotoviti, da so spletni elementi enolično prepoznavni z uporabo nekaterih lastnosti, kot sta ID ali ime.
Primer:
WebElement loginLink = driver.findElement (By.linkText ("Prijava"));
Sintaksa ukaza FindElements:
FindElements v ukazu Selenium kot parameter vzame By objekt in vrne seznam spletnih elementov. Vrne prazen seznam, če z dano strategijo lokatorja in vrednostjo lokatorja ni najdenih elementov. Spodaj je sintaksa ukaza find elements.
SeznamelementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));
Primer:
SeznamlistOfElements = driver.findElements (By.xpath ("// div"));
Najdi element Vs Najdi elemente
Spodaj so glavne razlike med ukazoma find element in find elements.
Poišči element | Poiščite elemente |
---|---|
Vrne prvi najbolj spletni element, če je z istim lokatorjem najdenih več spletnih elementov | Vrne seznam spletnih elementov |
Vrne izjemo NoSuchElementException, če ni elementov, ki se ujemajo s strategijo lokatorja | Vrne prazen seznam, če ni spletnih elementov, ki se ujemajo s strategijo lokatorja |
Najdi element s strani XPath bo našel samo en spletni element | Našel bo zbirko elementov, ki se ujemajo s strategijo lokatorja. |
Se ne uporablja | Vsak spletni element se indeksira s številko, ki se začne od 0, tako kot matrika |
Primer: Kako uporabiti ukaz Find Element
Naslednja aplikacija se uporablja za predstavitvene namene
http://demo.guru99.com/test/ajax.html
Scenarij:
1. Odprite AUT
2. Poiščite in kliknite izbirni gumb
paket com.sample.stepdefinitions;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;javni razred NameDemo {public static void main (String [] args) {// TODO Samodejno ustvarjena škrbina metodeSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");Gonilnik WebDriver = nov ChromeDriver ();driver.manage (). window (). maximize ();driver.get ("http://demo.guru99.com/test/ajax.html");// Poiščite izbirni gumb za »Ne« z njegovim ID-jem in kliknite nanjdriver.findElement (By.id ("ne")). click ();// Kliknite gumb Preveridriver.findElement (By.id ("checkcheck")). click ();}}
Primer: Kako uporabiti ukaz Find Elements
Scenarij:
1. Odprite URL za preizkušano aplikacijo
2. Poiščite besedilo izbirnih gumbov in ga natisnite na izhodno konzolo
paket com.sample.stepdefinitions;uvoz java.util.List;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.WebElement;uvoz org.openqa.selenium.chrome.ChromeDriver;javni razred NameDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Gonilnik WebDriver = nov ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Seznam elementov= driver.findElements (By.name ("ime"));System.out.println ("Število elementov: + elements.size ());for (int i = 0; i Povzetek:
- Ukaz Find Element vrne spletni element, ki se ujema s prvim elementom na spletni strani.
- Ukaz Find Elements vrne seznam spletnih elementov, ki ustrezajo merilom.
- Najdi element s XPathom v ukazu Selenium vrže NoSuchElementException, če ne najde elementa, ki ustreza merilom.
- Ukaz Find Elements vrne prazen seznam v programu Selenium, če ni elementov, ki ustrezajo merilom