Tutorials  /  JavaScript

Selenium findElement und findElements Beispiele

Ccentron Redaktion · Februar 2024 ·5 Min. Lesezeit ·JavaScript, Tutorial

Wenn Sie mit einer Webseite interagieren möchten, benötigen wir, dass ein Benutzer die Web-Elemente findet. Wir beginnen normalerweise damit, die HTML-Elemente auf der Seite zu finden, wenn wir planen, irgendeine Webanwendung mit WebDriver zu automatisieren. Selenium WebDriver definiert zwei Methoden zur Identifizierung der Elemente, nämlich findElement und findElements.

    1. findElement: Dieser Befehl wird verwendet, um ein einzigartiges Web-Element auf der Webseite zu identifizieren.
    2. findElements: Dieser Befehl wird verwendet, um die Liste der einzigartigen Web-Elemente auf der Webseite zu identifizieren.

Es gibt mehrere Möglichkeiten, ein Web-Element auf der Webseite einzigartig zu identifizieren, wie z.B. ID, Name, Klassenname, LinkText, PartialLinkText, TagName und XPath.

Unterschied zwischen findElement und findElements Methoden

FindElement() Methode

Dieser Befehl wird verwendet, um auf ein einzelnes Element auf der Webseite zuzugreifen

Er gibt das Objekt des ersten passenden Elements des angegebenen Lokalisierers zurück

Er wirft eine NoSuchElementException aus, wenn es ihm nicht gelingt, das Element zu identifizieren

FindElements() Methode

Dieser Befehl wird verwendet, um die Liste der einzigartigen Web-Elemente auf der Webseite zu identifizieren.

Die Verwendung dieser Methode ist sehr begrenzt

Wenn das Element nicht auf der Seite existiert, dann wird er einen Wert mit einer leeren Liste zurückgeben

VM

Passende Infrastruktur bei centron

Node-Anwendungen wollen deployt werden: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat – oder gleich als Managed Server, wenn der Betrieb nicht bei Ihnen liegen soll. Cloud Server mieten →

Selenium findElement Befehl

Der Find Element-Befehl nimmt das By-Objekt als Parameter und gibt ein Objekt vom Typ WebElement zurück. Das By-Objekt kann mit verschiedenen Lokalisierungsstrategien verwendet werden, wie z.B. ID, Name, Klassenname, Linktext, XPath usw.

Syntax des FindElement-Befehls

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

Lokalisierungsstrategie kann einer der folgenden Werte sein.

      • ID
      • Name
      • Klassenname
      • Tag-Name
      • Linktext
      • Partial Link Text
      • XPath

Lokalisierungswert ist der einzigartige Wert, mit dem wir das Web-Element identifizieren können. Es ist die Hauptverantwortung von Entwicklern und Testern, sicherzustellen, dass Web-Elemente einzigartig identifiziert werden, indem bestimmte Eigenschaften wie ID oder Name verwendet werden. Beispiel:

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

Selenium findElements Befehl

Der Selenium findElements-Befehl nimmt das By-Objekt als Parameter und gibt eine Liste von Web-Elementen zurück. Er gibt eine leere Liste zurück, wenn keine Elemente mit der gegebenen Lokalisierungsstrategie und dem Lokalisierungswert gefunden werden.

Syntax des FindElements-Befehls

Code
List elementName = driver.findElements(By.LocatorStrategy("LocatorValue"));

Beispiel:

Code
List listOfElements = driver.findElements(By.xpath("//div"));

Wie man den Selenium findElement Befehl verwendet

Die folgende Anwendung wird zu Demonstrationszwecken verwendet: https://www.irctc.co.in/nget/user-registration Szenario

Go
package com.journaldev.selenium.findelement;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class SeleniumFindElement {
    public static void main (String [] args){

        System.setProperty("webdriver.chrome.driver","D:\\Drivers\\chromedriver.exe");
        WebDriver driver= new ChromeDriver();
        driver.manage().window.maximize():
        driver.get("https://www.irctc.co.in/nget/user-registration");

        //Finden Sie den Radiobutton für "Male" mit ID und klicken Sie darauf
        driver.findElement(By.id("M")).click();
    }
}

Wie man den Selenium findElements Befehl verwendet

Die folgende Anwendung wird zu Demonstrationszwecken verwendet https://www.irctc.co.in/nget/user-registration Szenario

Go
package com.journaldev.selenium.findelements;

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 SeleniumFindElements {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver","D:\\Drivers\\chromedriver.exe");
        WebDriver driver= new ChromeDriver();
        driver.get("https://www.irctc.co.in/nget/user-registration");
        List elements = driver.findElements(By.id("M"));
        System.out.println("Anzahl der Elemente:" +elements.size());

        for(int i=0; i<elements.size(); i++){
            System.out.println("Radiobutton-Text:" + elements.get(i).getAttribute("value"));
        }
    }
}

Mehrere By-Strategien zum Zugriff auf Selenium-Lokalisierer

Selenium WebDriver bezieht sich auf die Web-Elemente durch die Verwendung der Methode findElement(By.). Die Methode findElement verwendet ein Lokalisierungsobjekt, das als <"By"> bekannt ist. Es gibt verschiedene Arten von „By“-Strategien, die Sie je nach Ihrem Bedarf verwenden können.

1. By ID

Befehl: driver.findElement(By.id(<element ID>))

Beispiel: <input>

Java-Beispielcode, um das Eingabeelement nach ID zu finden:

Code
WebElement user = driver.findElement(By.id("JournalDev"));

2. By Name

Befehl: driver.findElement(By.name(<element-name>))

Beispiel: <input name="JournalDev">

Java-Beispielcode, um das Eingabeelement nach Name zu finden:

Code
WebElement user = driver.findElement(By.name("JournalDev"));

3. By Class Name

Befehl: driver.findElement(By.className(<element-class>))

Beispiel: <input>

Java-Beispielcode, um das Eingabeelement nach Klassenname zu finden:

Code
WebElement user = driver.findElement(By.className("JournalDev"));

4. By LinkText

Befehl: driver.findElement(By.linkText(<link text>))

Beispiel: <a href="#test1">JournalDev-1</a> <a href="#test2">JournalDev-2</a>

Java-Beispielcode, um das Element nach Link- oder Teil-Link-Text zu finden:

Code
WebElement link = driver.findElement(By.linkText("JournalDev-1"));
WebElement link = driver.findElement(By.partialLinkText("JournalDev-2"));

5. By CssSelector

Befehl: driver.findElement(By.cssSelector(<css-selector>))

Beispiel: <input type="text" placeholder="xxx@email.com"> <input type="submit" value="Abonnieren zum Blog>

Java-Beispielcode, um das Element nach Link- oder Teil-Link-Text zu finden:

Code
WebElement emailText = driver.findElement(By.cssSelector("input#email"));

6. By XPath

Befehl: driver.findElement(By.xpath(<xpath>))

Java-Beispielcode für XPath:

Code
// Absolute path
WebElement item = driver.findElement(By.xpath("html/head/body/table/tr/td"));

// Relative path
WebElement item = driver.findElement(By.xpath("//input"));

// Finding elements using indexes
WebElement item = driver.findElement(By.xpath("//input[2]"));

Selenium findElement und findElements Beispiele

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie JavaScript
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren