FindElements in Selenium – FindElement von XPath

Warum benötigen Sie den Befehl „Element(e) suchen“?

Für die Interaktion mit einer Webseite muss ein Benutzer das Webelement lokalisieren. Der Befehl „Element suchen“ wird verwendet, um ein (ein) Webelement innerhalb der Webseite eindeutig zu identifizieren. Der Befehl „Elemente suchen“ hingegen wird verwendet, um die Liste der Webelemente innerhalb der Webseite eindeutig zu identifizieren. Es gibt mehrere Möglichkeiten, ein Webelement innerhalb der Webseite eindeutig zu identifizieren, z. B. ID, Name, Klassenname, Linktext, Teillinktext, Tag-Name und XPATH.

Syntax des FindElement-Befehls

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

Selenium Der Befehl „Element suchen“ übernimmt das By-Objekt als Parameter und gibt ein Objekt vom Typ „Liste WebElement“ zurück Selenium. Nach Objekt wiederum kann mit verschiedenen Locator-Strategien verwendet werden, wie z. B. „Element nach ID suchen“. Selenium, Name, Klassenname, XPATH usw. Nachfolgend finden Sie die Syntax des FindElement-Befehls in Selenium Web-Treiber.

Die Locator-Strategie kann einen der folgenden Werte haben.

  • ID
  • Selenium Element nach Name suchen
  • Klassenname
  • Verlinke den Namen
  • Link Text
  • Teilweiser Linktext
  • XPATH

Der Locator-Wert ist der eindeutige Wert, anhand dessen ein Webelement identifiziert werden kann. Es liegt in der Verantwortung von Entwicklern und Testern, sicherzustellen, dass Webelemente anhand bestimmter Eigenschaften wie ID oder Name eindeutig identifizierbar sind.

Ejemplo:

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

Beispiel: Element suchen in Selenium

Die folgende Anwendung wird zu Demozwecken verwendet

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

Szenario:

Schritt 1: Öffnen Sie das AUT

Schritt 2: Suchen Sie das Optionsfeld und klicken Sie darauf

package 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 Auto-generated method stub

System.setProperty("webdriver.chrome.driver", "D:\\3rdparty\\chrome\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();

driver.get("https://demo.guru99.com/test/ajax.html");

// Find the radio button for “No” using its ID and click on it
driver.findElement(By.id("no")).click();
	
//Click on Check Button
driver.findElement(By.id("buttoncheck")).click();

}

}

FindElements-Befehlssyntax

List<WebElement> elementName = driver.findElements(By.LocatorStrategy("LocatorValue"));

FindElements in Selenium Der Befehl übernimmt By object als Parameter und gibt eine Liste von Webelementen zurück. Es gibt eine leere Liste zurück, wenn mit der angegebenen Locator-Strategie und dem angegebenen Locator-Wert keine Elemente gefunden werden. Nachfolgend finden Sie die Syntax des Befehls „Elemente suchen“.

Ejemplo:

List<WebElement> listOfElements = driver.findElements(By.xpath("//div"));

Beispiel: Elemente suchen in Selenium

Szenario:

Schritt 1: Öffnen Sie die URL für die zu testende Anwendung

Schritt 1: Suchen Sie den Text der Optionsfelder und geben Sie ihn auf der Ausgabekonsole aus

package 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");
    WebDriver driver = new ChromeDriver();
    driver.get("https://demo.guru99.com/test/ajax.html");
    List<WebElement> elements = driver.findElements(By.name("name"));
    System.out.println("Number of elements:" +elements.size());

    for (int i=0; i<elements.size();i++){
      System.out.println("Radio button text:" + elements.get(i).getAttribute("value"));
    }
  }
}

Element suchen vs. Elemente suchen

Nachfolgend sind die Hauptunterschiede zwischen den Befehlen „Element suchen“ und „Elemente suchen“ aufgeführt.

Element suchen vs. Elemente suchen
Element suchen Vs Elemente suchen in Selenium
Element finden Elemente finden
Gibt das erste Webelement zurück, wenn mehrere Webelemente mit demselben Locator gefunden werden Gibt eine Liste von Webelementen zurück
Löst die Ausnahme NoSuchElementException aus, wenn keine Elemente vorhanden sind, die der Locator-Strategie entsprechen Gibt eine leere Liste zurück, wenn keine Webelemente vorhanden sind, die der Locator-Strategie entsprechen
Mit „Element durch XPath suchen“ wird nur ein Webelement gefunden Es wird eine Sammlung von Elementen gefunden, die der Locator-Strategie entsprechen.
Nicht zutreffend Jedes Webelement wird wie ein Array mit einer Nummer beginnend bei 0 indiziert

Zusammenfassung

  • Der Befehl „Element suchen“ gibt das Webelement zurück, das dem ersten Element auf der Webseite entspricht.
  • Der Befehl „Elemente suchen“ gibt eine Liste von Webelementen zurück, die den Kriterien entsprechen.
  • Finden Sie Element nach XPath in Selenium Der Befehl löst eine NoSuchElementException aus, wenn das Element nicht gefunden wird, das den Kriterien entspricht.
  • Der Befehl „Elemente suchen“ gibt eine leere Liste zurück Selenium wenn es keine Elemente gibt, die den Kriterien entsprechen