Găsiți Element și FindElements de XPath în Selenium WebDriver

Cuprins:

Anonim

De ce aveți nevoie de comanda Găsire element / e?

Interacțiunea cu o pagină web necesită ca un utilizator să localizeze elementul web. Comanda Găsire element este utilizată pentru a identifica în mod unic un (un) element web din pagina web. Întrucât, comanda Găsire elemente este utilizată pentru a identifica în mod unic lista elementelor web din pagina web. Există mai multe moduri de a identifica în mod unic un element web în pagina web, cum ar fi ID, Nume, Nume clasă, Text link, Text Link parțial, Nume etichetă și XPATH.

Sintaxa comenzii FindElement:

Comanda Selenium Find Element preia obiectul By ca parametru și returnează un obiect de tip WebElement list în Selenium. La rândul său, obiectul poate fi utilizat cu diverse strategii de localizare, cum ar fi elementul de identificare prin ID Selenium, Name, Class Name, XPATH etc. Mai jos este sintaxa comenzii FindElement din driverul web Selenium.

WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));

Strategia de localizare poate fi oricare dintre următoarele valori.

  • ID
  • Selenium find element după nume
  • Numele clasei
  • Nume eticheta
  • Text de legătură
  • Text de legătură parțială
  • XPATH

Locator Value este valoarea unică cu ajutorul căreia poate fi identificat un element web. Este responsabilitatea dezvoltatorilor și testerilor să se asigure că elementele web sunt identificabile în mod unic folosind anumite proprietăți, cum ar fi ID-ul sau numele.

Exemplu:

WebElement loginLink = driver.findElement (By.linkText ("Login"));

Sintaxa comenzii FindElements:

FindElements din comanda Selenium preia By object ca parametru și returnează o listă de elemente web. Returnează o listă goală dacă nu există elemente găsite folosind strategia de localizare dată și valoarea de localizare. Mai jos este sintaxa comenzii find elements.

Listă  ElementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));

Exemplu:

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

Găsiți elementul Vs Găsiți elementele

Mai jos sunt diferențele majore dintre comenzile find element și find elements.

Găsiți elementul Vs Găsiți elemente în seleniu
Găsiți elementul Găsiți elemente
Returnează primul element cel mai web dacă există mai multe elemente web găsite cu același localizator Returnează o listă de elemente web
Aruncă excepția NoSuchElementException dacă nu există elemente care să corespundă strategiei de localizare Returnează o listă goală dacă nu există elemente web care să corespundă strategiei de localizare
Găsiți elementul de XPath va găsi un singur element web Va găsi o colecție de elemente a căror potrivire este strategia de localizare.
Nu se aplică Fiecare element Web este indexat cu un număr care începe de la 0 la fel ca un tablou

Exemplu: Cum se utilizează comanda Găsire element

Următoarea aplicație este utilizată în scop demo

http://demo.guru99.com/test/ajax.html

Scenariu:

1. Deschideți AUT

2. Găsiți și faceți clic pe butonul radio

pachet com.sample.stepdefinitions;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class NameDemo {public static main main (String [] args) {// TODO Metoda generată automatSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");Driver WebDriver = nou ChromeDriver ();driver.manage (). window (). maximize ();driver.get ("http://demo.guru99.com/test/ajax.html");// Găsiți butonul radio pentru „Nu” folosind ID-ul său și faceți clic pe eldriver.findElement (By.id ("nu")). click ();// Faceți clic pe butonul Verificaredriver.findElement (By.id ("buttoncheck")). faceți clic pe ();}}

Exemplu: Cum se utilizează comanda Găsire elemente

Scenariu:

1. Deschideți adresa URL pentru aplicația sub test

2. Găsiți textul butoanelor radio și imprimați-l pe consola de ieșire

pachet 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 main main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Driver WebDriver = nou ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Listă  elemente = driver.findElements (By.name („nume”));System.out.println ("Număr de elemente: + elements.size ());for (int i = 0; i 

Rezumat:

  • Comanda Găsire element returnează elementul web care se potrivește cu cel mai mare element din pagina web.
  • Comanda Găsi elemente returnează o listă de elemente web care corespund criteriilor.
  • Găsiți elementul prin XPath în comanda Selenium lansează NoSuchElementException dacă nu găsește elementul care corespunde criteriilor.
  • Comanda Găsire elemente returnează o listă goală în Seleniu dacă nu există elemente care să corespundă criteriilor