Quick Navigator
© 2004-2017 by Rocketlab

hand crafted in the beautiful mountains of Switzerland

Selenium – Lokalisierung von Seitenelementen


Selenium - Webdriver Academy

Um Elemente auf einer HTML Site zu lokalisieren, gibt es mehrere Möglichkeiten, diese anzusprechen.

Ausgehend von der Methode findElement(By.locator()) können unterschiedliche Lokatoren verwendet werden. Jede Methode wird zur besseren Veranschaulichung mit einem Codebeispiel erklärt:

 

Methode Beschreibung

Codebeispiel

By.cssSelector Lokalisieren von Elementen über CSS Selektor findElement(By.cssSelector(„input#email“))
By.id Lokalisieren von Elementen durch die Element id
(z.B. bei <img src“xy.jpg“ id=“pic1″ border=0 alt=“Bild“>
findElement(By.id(„someId“))
By.identifier Dieser Lokalisierer funktioniert ähnlich wie der eben erwähnte, ist aber anwendbar auf id, name, type, class, usw. findElement(By.identifier(„formfeld_name“))
By.name Lokalisieren von Elementen mithilfe des name Attributes findElement(By.name(„someName“))
By.xpath Lokalisieren durch den XPath findElement(By.xpath(„id(’search_mini_form_autocomplete‘)/ul/li[3]“))
By.linkText Lokalisieren von Elementen durch den auf der Site angezeigten Text (innertext) findElement(By.linkText(„REGISTRATION“))
By.partialLinkText Lokalisieren von Elementen, welches einen Teiltext innerhalb eines Links hat
Ist vergleichbar mit linkText, allerdings ist hier ein Teil des angezeigten Texts ausreichend.
findElement(By.partialLinkText(„REG“))
By.className Lokalisieren von Elementen mithilfe des Klassen Attributs class findElement(By.className(„someClassName“))
By.tagName Lokalisieren von Elementen durch den HTML Tag Namen findElement(By.tagName(„div“))

 

Für eine öftere Verwendung eines Elements kann man dieses auch Instanzieren, damit man es nicht immer neu deklarieren muss. Hierfür benötigt man die Webelement Klasse des webdriver, welche im Paket org.openqa.selenium.* zu finden ist.

In der Praxis sieht es dann ungefähr so aus:
WebElement meinElement = driver.findElement(By.cssSelector("li.search"));
meinElement.sendKeys("Stichwort");

 

 

Anmerkung: Der Befehl sendKeys(String) entspricht der Eingabe eines String (in Klammern) in z.B. ein Suchfeld, Formularfeld, …

 


Launch the rocket!


Wir freuen uns auf neue Partner, die mit uns gemeinsam
außergewöhliche Dinge erschaffen möchten.
Schreiben Sie uns, wenn Sie mit uns zusammenarbeiten möchten.