Selenium findElement und findElements Beispiele

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

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

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:

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

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

Beispiel:

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

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

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 id=“JournalDev“>
Java-Beispielcode, um das Eingabeelement nach ID zu finden:

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:

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

3. By Class Name

Befehl: driver.findElement(By.className(<element-class>))
Beispiel: <input class=“JournalDev“>
Java-Beispielcode, um das Eingabeelement nach Klassenname zu finden:

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:

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 class=“email“ id=“email“ type=“text“ placeholder=“xxx@email.com“> <input class=“btn btn-small“ type=“submit“ value=“Abonnieren zum Blog>
Java-Beispielcode, um das Element nach Link- oder Teil-Link-Text zu finden:

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

6. By XPath

Befehl: driver.findElement(By.xpath(<xpath>))
Java-Beispielcode für XPath:

// 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

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren: