Prečo potrebujete príkaz Nájsť element / y?
Interakcia s webovou stránkou vyžaduje, aby používateľ našiel webový prvok. Príkaz Find Element sa používa na jednoznačnú identifikáciu (jedného) webového prvku na webovej stránke. Zatiaľ čo príkaz Nájsť prvky sa používa na jednoznačnú identifikáciu zoznamu webových prvkov na webovej stránke. Existuje niekoľko spôsobov, ako jednoznačne identifikovať webový prvok na webovej stránke, napríklad ID, názov, názov triedy, text odkazu, text čiastočného odkazu, názov značky a XPATH.
Syntax príkazu FindElement:
Príkaz Selenium Find Element prevezme ako parameter objekt By a vráti objekt typu list WebElement v seléne. Objekt je zase možné použiť s rôznymi stratégiami lokátorov, ako je napríklad vyhľadanie prvku podľa ID Selenium, Name, Class Name, XPATH atď. Ďalej je uvedená syntax príkazu FindElement vo webovom ovládači Selenium.
WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));
Stratégia lokátora môže mať ktorúkoľvek z nasledujúcich hodnôt.
- ID
- Vyhľadajte prvok selén podľa názvu
- Názov triedy
- Názov značky
- Text odkazu
- Čiastočný text odkazu
- XPATH
Locator Value je jedinečná hodnota, pomocou ktorej je možné identifikovať webový prvok. Je zodpovednosťou vývojárov a testerov zabezpečiť, aby boli webové prvky jednoznačne identifikovateľné pomocou určitých vlastností, ako je ID alebo názov.
Príklad:
WebElement loginLink = driver.findElement (By.linkText ("Prihlásenie"));
Syntax príkazu FindElements:
Príkaz FindElements in Selenium prijme By object ako parameter a vráti zoznam webových prvkov. Vráti prázdny zoznam, ak pomocou danej stratégie a hodnoty lokátora nie sú nájdené žiadne prvky. Nižšie je uvedená syntax príkazu nájsť prvky.
ZoznamelementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));
Príklad:
ListlistOfElements = driver.findElements (By.xpath ("// div"));
Nájsť prvok Vs Nájsť prvky
Ďalej sú uvedené hlavné rozdiely medzi príkazmi find element a find elements.

Nájdite prvok | Nájdite prvky |
---|---|
Vráti prvý najviac webový prvok, ak sa našlo viac webových prvkov s rovnakým vyhľadávačom | Vráti zoznam webových prvkov |
Ak neexistujú žiadne prvky zodpovedajúce stratégii lokátora, hodí výnimku NoSuchElementException | Vráti prázdny zoznam, ak stratégii vyhľadávača nezodpovedajú žiadne webové prvky |
Nájsť prvok pomocou XPath nájde iba jeden webový prvok | Nájde zbierku prvkov, ktorých zhoda so stratégiou lokátora. |
Nepoužiteľné | Každý webový prvok je indexovaný číslom začínajúcim od 0 rovnako ako pole |
Príklad: Ako používať príkaz Nájsť prvok
Nasledujúca aplikácia sa používa na demo účely
http://demo.guru99.com/test/ajax.html
Scenár:
1. Otvorte AUT
2. Nájdite a kliknite na prepínač
balíček com.sample.stepdefinitions;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;verejná trieda NameDemo {public static void main (String [] args) {// TODO Automaticky generovaný pahýl metódySystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");Ovládač WebDriver = nový ChromeDriver ();driver.manage (). window (). maximize ();driver.get ("http://demo.guru99.com/test/ajax.html");// Vyhľadajte prepínač „Nie“ pomocou jeho ID a kliknite na nehodriver.findElement (By.id ("no")). click ();// Kliknite na tlačidlo Skontrolovaťdriver.findElement (By.id ("buttoncheck")). click ();}}
Príklad: Ako používať príkaz Nájsť prvky
Scenár:
1. Otvorte adresu URL testovanej aplikácie
2. Nájdite text prepínačov a vytlačte ich na výstupnú konzolu
balíček 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;verejná trieda NameDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Ovládač WebDriver = nový ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Zoznamelements = driver.findElements (By.name ("name"));System.out.println ("Počet prvkov: + elements.size ());pre (int i = 0; i Zhrnutie:
- Príkaz Nájsť prvok vráti webový prvok, ktorý sa zhoduje s prvým prvkom na webovej stránke.
- Príkaz Nájsť prvky vráti zoznam webových prvkov, ktoré zodpovedajú kritériám.
- Príkaz Find Element by XPath in Selenium hodí NoSuchElementException, ak nenájde prvok zodpovedajúci kritériám.
- Príkaz Nájsť prvky vráti prázdny zoznam v seléne, ak kritériám nezodpovedajú žiadne prvky