Proč potřebujete příkaz Najít prvek / prvky?
Interakce s webovou stránkou vyžaduje, aby uživatel vyhledal webový prvek. Příkaz Najít prvek se používá k jedinečné identifikaci (jednoho) webového prvku na webové stránce. Zatímco příkaz Najít prvky se používá k jedinečné identifikaci seznamu webových prvků na webové stránce. Existuje několik způsobů, jak jednoznačně identifikovat webový prvek na webové stránce, například ID, název, název třídy, text odkazu, text částečného odkazu, název značky a XPATH.
Syntaxe příkazu FindElement:
Příkaz Najít prvek selenu vezme jako parametr objekt By a vrátí objekt typu seznamu WebElement v selenu. Objekt lze zase použít s různými strategiemi lokátorů, jako je find element by ID Selenium, Name, Class Name, XPATH atd. Níže je uvedena syntaxe příkazu FindElement ve webovém ovladači Selenium.
WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));
Strategií lokátoru může být některá z následujících hodnot.
- ID
- Selen najít prvek podle jména
- Jméno třídy
- Název štítku
- Text odkazu
- Částečný text odkazu
- XPATH
Locator Value je jedinečná hodnota, pomocí které lze identifikovat webový prvek. Je odpovědností vývojářů a testerů zajistit, aby byly webové prvky jednoznačně identifikovatelné pomocí určitých vlastností, jako je ID nebo název.
Příklad:
WebElement loginLink = driver.findElement (By.linkText ("Přihlášení"));
Syntaxe příkazu FindElements:
Příkaz FindElements in Selenium převezme jako objekt parametr By a vrátí seznam webových prvků. Vrátí prázdný seznam, pokud pomocí dané strategie lokátoru a hodnoty lokátoru nebyly nalezeny žádné prvky. Níže je uvedena syntaxe příkazu find elements.
ListelementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));
Příklad:
ListlistOfElements = driver.findElements (By.xpath ("// div"));
Najít prvek Vs Najít prvky
Níže jsou uvedeny hlavní rozdíly mezi příkazy find element a find elements.
Najít prvek | Najít prvky |
---|---|
Vrátí první nejvíce webový prvek, pokud existuje více webových prvků se stejným vyhledávačem | Vrátí seznam webových prvků |
Vyvolá výjimku NoSuchElementException, pokud neexistují žádné prvky odpovídající strategii lokátoru | Vrátí prázdný seznam, pokud neexistují žádné webové prvky odpovídající strategii lokátoru |
Najít prvek pomocí XPath najde pouze jeden webový prvek | Najde kolekci prvků, jejichž strategie odpovídá lokátoru. |
Nelze použít | Každý webový prvek je indexován číslem začínajícím od 0 stejně jako pole |
Příklad: Jak používat příkaz Najít prvek
Následující aplikace slouží k ukázkovým účelům
http://demo.guru99.com/test/ajax.html
Scénář:
1. Otevřete AUT
2. Najděte a klikněte na přepínač
balíček com.sample.stepdefinitions;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;veřejná třída NameDemo {public static void main (String [] args) {// TODO Automaticky generovaný útržek metodySystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");Ovladač WebDriver = nový ChromeDriver ();driver.manage (). window (). maximize ();driver.get ("http://demo.guru99.com/test/ajax.html");// Najděte přepínač „Ne“ pomocí jeho ID a klikněte na nějdriver.findElement (By.id ("no")). click ();// Klikněte na tlačítko Zkontrolovatdriver.findElement (By.id ("buttoncheck")). click ();}}
Příklad: Jak používat příkaz Najít prvky
Scénář:
1. Otevřete adresu URL testované aplikace
2. Najděte text přepínacích tlačítek a vytiskněte jej na výstupní konzoli
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;veřejná třída NameDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Ovladač WebDriver = nový ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Listelements = driver.findElements (By.name ("name"));System.out.println ("Počet prvků: + elements.size ());for (int i = 0; i Souhrn:
- Příkaz Najít prvek vrací webový prvek, který odpovídá prvnímu nejvíce prvku na webové stránce.
- Příkaz Najít prvky vrací seznam webových prvků, které odpovídají kritériím.
- Najít prvek pomocí XPath v příkazu Selen vyvolá NoSuchElementException, pokud nenajde prvek odpovídající kritériím.
- Příkaz Najít prvky vrací prázdný seznam v selenu, pokud kritériím neodpovídají žádné prvky