Poiščite Element in FindElements s strani XPath v programu Selenium WebDriver

Kazalo:

Anonim

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.

Seznam  elementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));

Primer:

Seznam  listOfElements = driver.findElements (By.xpath ("// div"));

Najdi element Vs Najdi elemente

Spodaj so glavne razlike med ukazoma find element in find elements.

Poišči element Vs Najdi elemente v selenu
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