„Selenium WebDriver“ raskite „XPath“ elementą ir „FindElements“

Turinys:

Anonim

Kodėl jums reikia komandos „Rasti elementą“?

Norint sąveikauti su tinklalapiu, reikia, kad vartotojas surastų žiniatinklio elementą. Komanda „Rasti elementą“ naudojama norint unikaliai identifikuoti (vieną) interneto elementą tinklalapyje. Komanda „Rasti elementus“ naudojama norint unikaliai identifikuoti tinklalapio elementų sąrašą. Yra keli būdai, kaip unikaliai identifikuoti žiniatinklio elementą tinklalapyje, pvz., ID, pavadinimas, klasės pavadinimas, nuorodos tekstas, dalinės nuorodos tekstas, žymos pavadinimas ir XPATH.

„FindElement“ komandos sintaksė:

„Selenium Find Element“ komanda įveda parametrą By objektą ir grąžina „Selenium“ tipo sąrašo „WebElement“ objektą. Savo ruožtu objektas gali būti naudojamas su įvairiomis lokatoriaus strategijomis, tokiomis kaip elemento suradimas pagal ID „Selenium“, „Name“, „Class Name“, „XPATH“ ir kt. Žemiau pateikiama „SelEnium“ žiniatinklio tvarkyklės komandos „FindElement“ sintaksė.

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

Vietos nustatymo strategija gali būti bet kuri iš šių verčių.

  • ID
  • Seleno radimo elementas pagal pavadinimą
  • Klasės pavadinimas
  • Žymos pavadinimas
  • Nuorodos tekstas
  • Dalinis nuorodos tekstas
  • XPATH

Vietos reikšmė yra unikali vertė, pagal kurią galima nustatyti žiniatinklio elementą. Kūrėjai ir bandytojai yra atsakingi už tai, kad žiniatinklio elementai būtų unikaliai atpažįstami naudojant tam tikras ypatybes, tokias kaip ID ar vardas.

Pavyzdys:

„WebElement loginLink = driver.findElement (By.linkText („ Prisijungti “));

„FindElements“ komandos sintaksė:

Komanda „FindElements in Selenium“ parametrą įveda pagal objektą ir pateikia žiniatinklio elementų sąrašą. Jis pateikia tuščią sąrašą, jei nėra elementų, kurie būtų naudojami pagal nurodytą lokatoriaus strategiją ir lokatoriaus vertę. Žemiau yra komandos „Ieškoti elementų“ sintaksė.

Išvardykite  elementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));

Pavyzdys:

Sąrašas  listOfElements = driver.findElements (By.xpath ("// div"));

Raskite elementą Vs Raskite elementus

Žemiau pateikiami pagrindiniai komandos „find element“ ir „find elements“ skirtumai.

Raskite elementą Vs Raskite elementus selene
Raskite elementą Raskite elementus
Pateikia pirmąjį labiausiai žiniatinklio elementą, jei yra keli žiniatinklio elementai, rasti tame pačiame lokatoriuje Grąžina žiniatinklio elementų sąrašą
Išmeta „NoSuchElementException“ išimtį, jei nėra elementų, atitinkančių lokatoriaus strategiją Pateikia tuščią sąrašą, jei nėra žiniatinklio elementų, atitinkančių lokatoriaus strategiją
Rasti elementą pagal XPath ras tik vieną žiniatinklio elementą Čia bus surasta elementų kolekcija, atitinkanti lokatoriaus strategiją.
Netaikoma Kiekvienas žiniatinklio elementas indeksuojamas skaičiumi, prasidedančiu nuo 0, kaip ir masyvas

Pavyzdys: Kaip naudoti komandą Rasti elementą

Ši programa naudojama demonstraciniams tikslams

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

Scenarijus:

1. Atidarykite AUT

2. Raskite ir spustelėkite radijo mygtuką

paketas com.sample.stepdefinitions;importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.chrome.ChromeDriver;public class NameDemo {public static void main (String [] argumentuoja) {// TODO Automatiškai sugeneruotas metodasSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");„WebDriver“ tvarkyklė = nauja „ChromeDriver“ ();vairuotojas.tvarkyti (). langas (). padidinti ();driver.get ("http://demo.guru99.com/test/ajax.html");// Raskite radijo mygtuką „Ne“ naudodami jo ID ir spustelėkite jįdriver.findElement (By.id ("ne")). spustelėkite ();// Spustelėkite mygtuką Tikrintidriver.findElement (By.id ("mygtuko patikrinimas")). spustelėkite ();}}

Pavyzdys: Kaip naudoti komandą Rasti elementus

Scenarijus:

1. Atidarykite bandomosios programos URL

2. Suraskite radijo mygtukų tekstą ir atsispausdinkite ant išvesties konsolės

paketas com.sample.stepdefinitions;importuoti java.util.List;importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.WebElement;importuoti org.openqa.selenium.chrome.ChromeDriver;public class NameDemo {public static void main (String [] argumentuoja) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");„WebDriver“ tvarkyklė = nauja „ChromeDriver“ ();driver.get ("http://demo.guru99.com/test/ajax.html");Išvardykite  elementus = driver.findElements (By.name ("vardas"));System.out.println ("Elementų skaičius: + elements.size ());už (int i = 0; i 

Santrauka:

  • Komanda „Rasti elementą“ grąžina žiniatinklio elementą, kuris atitinka pirmąjį elementą tinklalapyje.
  • Komanda „Rasti elementus“ pateikia kriterijus atitinkančių žiniatinklio elementų sąrašą.
  • Suraskite „XPath“ elementą komandoje „Selenium“, jei ji neranda kriterijus atitinkančio elemento „NoSuchElementException“.
  • Komanda „Rasti elementus“ pateikia „Selenium“ tuščią sąrašą, jei nėra elementų, atitinkančių kriterijus