Perché hai bisogno del comando Trova elemento / i?
L'interazione con una pagina web richiede che un utente individui l'elemento web. Il comando Trova elemento viene utilizzato per identificare in modo univoco un (uno) elemento web all'interno della pagina web. Considerando che, il comando Trova elementi viene utilizzato per identificare in modo univoco l'elenco di elementi Web all'interno della pagina Web. Esistono diversi modi per identificare in modo univoco un elemento Web all'interno della pagina Web, ad esempio ID, Nome, Nome classe, Testo del collegamento, Testo del collegamento parziale, Nome del tag e XPATH.
Sintassi del comando FindElement:
Il comando Selenium Find Element accetta il By object come parametro e restituisce un oggetto di tipo list WebElement in Selenium. Per oggetto a sua volta può essere utilizzato con varie strategie di localizzazione come trova elemento per ID Selenium, Nome, Nome classe, XPATH ecc. Di seguito è riportata la sintassi del comando FindElement nel driver web Selenium.
WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));
La strategia del localizzatore può essere uno dei seguenti valori.
- ID
- Selenio trova elemento per nome
- Nome della classe
- Nome tag
- Testo del collegamento
- Testo collegamento parziale
- XPATH
Il valore del localizzatore è il valore univoco tramite il quale è possibile identificare un elemento web. È responsabilità degli sviluppatori e dei tester assicurarsi che gli elementi web siano identificabili in modo univoco utilizzando determinate proprietà come ID o nome.
Esempio:
WebElement loginLink = driver.findElement (By.linkText ("Login"));
Sintassi del comando FindElements:
Il comando FindElements in Selenium accetta By object come parametro e restituisce un elenco di elementi web. Restituisce un elenco vuoto se non vengono trovati elementi utilizzando la strategia di localizzazione e il valore del localizzatore dati. Di seguito è riportata la sintassi del comando Trova elementi.
ListelementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));
Esempio:
ListlistOfElements = driver.findElements (By.xpath ("// div"));
Trova elemento Vs Trova elementi
Di seguito sono riportate le principali differenze tra i comandi Trova elemento e Trova elementi.

Trova elemento | Trova elementi |
---|---|
Restituisce il primo elemento più web se sono stati trovati più elementi web con lo stesso localizzatore | Restituisce un elenco di elementi web |
Genera l'eccezione NoSuchElementException se non sono presenti elementi corrispondenti alla strategia del localizzatore | Restituisce un elenco vuoto se non ci sono elementi web che corrispondono alla strategia del localizzatore |
Trova elemento da XPath troverà solo un elemento web | Troverà una raccolta di elementi che corrispondono alla strategia del localizzatore. |
Non applicabile | Ogni elemento Web è indicizzato con un numero che inizia da 0 proprio come un array |
Esempio: come utilizzare il comando Trova elemento
La seguente applicazione viene utilizzata a scopo dimostrativo
http://demo.guru99.com/test/ajax.html
Scenario:
1. Aprire il file AUT
2. Trova e fai clic sul pulsante di opzione
pacchetto com.sample.stepdefinitions;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class NameDemo {public static void main (String [] args) {// TODO Stub del metodo generato automaticamenteSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");Driver WebDriver = nuovo ChromeDriver ();driver.manage (). window (). maxim ();driver.get ("http://demo.guru99.com/test/ajax.html");// Trova il pulsante di opzione "No" utilizzando il suo ID e fai clic su di essodriver.findElement (By.id ("no")). click ();// Fare clic sul pulsante di controllodriver.findElement (By.id ("buttoncheck")). click ();}}
Esempio: come utilizzare il comando Trova elementi
Scenario:
1. Aprire l'URL per l'applicazione in prova
2. Trova il testo dei pulsanti di opzione e stampalo nella console di output
pacchetto 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 void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Driver WebDriver = nuovo ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Elenca elementi= driver.findElements (By.name ("name"));System.out.println ("Numero di elementi: + elements.size ());for (int i = 0; i Sommario:
- Il comando Trova elemento restituisce l'elemento web che corrisponde al primo elemento più all'interno della pagina web.
- Il comando Trova elementi restituisce un elenco di elementi web che corrispondono ai criteri.
- Il comando Trova elemento per XPath nel selenio genera NoSuchElementException se non trova l'elemento corrispondente ai criteri.
- Il comando Trova elementi restituisce un elenco vuoto in Selenium se non ci sono elementi corrispondenti ai criteri