So überprüfen Sie, ob in Selen ein Element vorhanden ist

So überprüfen Sie, ob in Selen ein Element vorhanden ist

In diesem Beitrag wird untersucht. Mit einigen einfachen und einfachen Beispielen durch Codierung zeigen wir, wie Sie die Existenz von Elementen im Selenium -Webdriver überprüfen können. Zunächst erklären wir, welche wichtigen Webelemente in Selen sind und wie Sie die Elemente in Selen mit Hilfe verschiedener Beispiele finden können. Lassen Sie uns zuerst diskutieren, was Selenium Webdrivers und Webelemente sind.

Selenium Webdriver und Selenium Webelemente

Selenium Webdriver erleichterte das Leben der Programmierer mit seinen nützlichen Funktionen. Selenium WebDriver bezieht sich auf die Sprachbindungen und die vielen Implementierungen des Browser-Kontrollierungscode. Ein HTML -Element wird als Webelement bezeichnet, mit dem die Benutzer die automatisierten Tests steuern können. Selenium Webdriver bietet über Webelemente gut organisierte Webseiten-Interaktionen wie das Finden der Elemente, das Erhalten der Attributeigenschaften, die Bestätigung des Textes im Webelement und mehr. Wir können eine Vielzahl von Testumgebungen mit der Anleitung von Selen automatisieren.

Befehl, um ein Element in Selenium zu finden

Das "By" -Objekt ist ein Parameter für den Befehl findelement, der ein Objekt des Webelement -Typs liefert. Verschiedene Locator -Techniken wie Name, ID, Klassenname, XPath, Link -Text usw. kann mit dem "by" -Objekt verwendet werden.

Hier ist die Syntax, um ein Element zu finden:

Webelement ElementName = Treiber.FindElement (von.LocatorStrategy („LocatorValue“));

Alle der folgenden Werte, einschließlich Name, ID, Klassenname, Tag -Name, Link -Text, teilweise Linktest und XPath, kann für die Lokalisierungsstrategie verwendet werden.

Jeder dieser Werte kann in den Locator eingegeben werden, um das Webelement zu lokalisieren.

So überprüfen Sie, ob in Selen ein Element vorhanden ist

Es können verschiedene Möglichkeiten übernommen werden, um zu überprüfen, ob sich ein bestimmtes Element im Selenium -Webdriver befindet oder nicht. Hier finden Sie eine Zusammenfassung der typischsten Möglichkeiten, um herauszufinden, ob die Elemente im Webdriver existieren oder nicht.

ElementInelement (…) Die zweite GetElements -By -ClassName (…)
ElementInelement enthält (ElementName, ElementValue) (Name, Wert).

Das Ergebnis ist Boolesche. Wenn das Element vorhanden ist, erzeugt es einen Bool -Wert von True. Ansonsten beantwortet es falsch. Die Bereitstellung eines Nullnamens erzielt auch ein echtes Ergebnis, während die Bereitstellung einer Zeichenfolge ein falsches Ergebnis erzielt.

Um dieses Verfahren zu verstehen, gehen wir an unsere Schnittstelle und führen einige Beispielcodes aus.

Beispiel 1:

Dieses erste Beispiel ist sehr einfach und einfach, was für Anfänger und erfahrene Entwickler von Level erstellt wurde. Das Programm beginnt mit dem Import des Fahrers.Finden Sie, um das Webelement mit dem Tag -Namen zu erhalten, um die Existenz der darin enthaltenen Webelemente zu überprüfen. Wir geben den folgenden vollständigen Befehl an, auf den Sie sich beziehen können. Danach erklären wir diesen Code in den Brocken, damit Sie verstehen können, welche Aktion sie ausführen.

import org.OpenQA.Selen.Von;
import org.OpenQA.Selen.Webdriver;
import org.OpenQA.Selen.Webelement;
import org.OpenQA.Selen.Chrom.Chromedriver;
public Class Checkifexisten
öffentliche statische Leere Main (String [] Args)

System.setProperty („Webdriver.Chrom.Fahrer ”,“./Treiber/Chromedriver.exe ”);
Webdriver Driver1 = neuer Chromedriver ();
Treiber1.Get (“http: // Demoqa.com/Registrierung/”); Treiber1.verwalten().Zeitüberschreitungen ().implizitlywait (2000, Zeiteinheit.Milisekunden);
Liste dd = driver1.FindElements (von.tagname ("select"));
if (dd.size ())> 0) System.aus.println ("Dropdown existiert");
anders


System.aus.println ('no Dropdown ");-

Versuchen wir nun, den vorherigen Code zu verstehen.

Wenn wir überprüfen möchten, ob die Dropdowns vorhanden sind oder nicht, sollten wir wissen, wo die Dropdowns in der Down -Struktur vorhanden sind. Wenn Sie einen Dropdown -Bereich auf einer bestimmten Website untersuchen, befinden sich die Dropdowns unter den Select -Tags. Der Screenshot ist angehängt, um zu sehen, wo wir die Registerkarte Auswahl und Dropdown finden können.

Wenn auf der bestimmten Webseite ausgewählte Tags vorhanden sind, befinden sich die Dropdowns auf der Seite. Wenn es kein vorhandenes Auswahl -Tag gibt, gibt es keine vorhandenen oder existierenden Dropdowns. Wir müssen diesen Hinweis verwenden:

Listen Sie DD = Treiber auf.FindElements (von.tagname ("select"));

Wir benutzen den Fahrer.FindElements () Methoden, um festzustellen, ob ein Element auf einer Webseite vorhanden ist. Wie uns bekannt ist, wird eine Liste von Webelementen mit dem Parameter „By Locator“ angezeigt, der von der Funktion findElements () zurückgegeben wird. Wenn das Element gefunden wird, wird eine Liste der Webelemente ungleich Null zurückgegeben. Andernfalls wird eine Liste der Größe 0 zurückgegeben. Infolgedessen kann die Länge der Liste verwendet werden, um festzustellen, ob ein Eintrag vorhanden ist oder nicht.

Denken Sie daran, dass diese Funktion bei der Suche nach dem Element bis zum „impliziten“ Warten für den Treiber gegeben wird, während wir in unserer Codierung geben:

Treiber1.verwalten().Zeitüberschreitungen ().implizitlywait (2000, Zeiteinheit.Milisekunden);

Wenn wir wissen, dass ein Element auf der Webseite sofort verfügbar ist, können wir den Wert des „impliziten“ Wartes nach dem Einstellen auf 0 wieder auf seinen Standardwert ändern, um das Vorhandensein von Elementen zu überprüfen und den Prozess zu beschleunigen.

Wenn Sie nur "Auswählen" einsetzen, können Sie keine Ausgabe erhalten. Es geht nur zum Select -Tag und zeigt ihn an.

Das ist alles. Wenn Sie überprüfen möchten, ob die Drop -Downs vorhanden sind oder nicht, sollten Sie diese Ausgabe in der Variablen „Listelement“ speichern.

Nachdem wir den Code ausgeführt haben.

Beispiel 2:

Im vorherigen Beispiel haben wir die Methode zum Finden eines Elements nach Tagname verwendet, um festzustellen, ob ein Dropdown -Element existiert oder nicht. Ab diesem Beispiel wissen Sie nun wissen, wie Sie die Elemente mit den Methoden für Versuch finden können.

Führen wir den Code aus und überprüfen Sie, wie Sie ihn verwenden:

System.setProperty („Webdriver.Gecko.Treiber ”,„/user/ABC/Desktop/C/dz/bibliothek/xyz “);
Webdriver Driver1 = neuer FirefoxDriver ();
Treiber1.Get (https: // www.Google.com)
versuchen
Treiber1.FindElement (von.xPath (“// input [@id = 'djahvljadhlkgj'))
System.aus.druckin (Element existiert);

Catch (NoSuchelementException E) System.aus.druckin („Element nicht existieren);

Um zu überprüfen, ob das Element existiert oder nicht, verwenden wir einen Versuch, Block zu fangen. Wir müssen nur versuchen, das Element zu finden.

Treiber.FindElement (von.xPath ("// input [@id = 'djahvljadhlkgj']"));

Jetzt findet das vorherige Code -Snippet das Element mit dem XPath:

Catch (NoSuchelementException E) System.aus.druckin („Element nicht existieren);

Wenn das Element im Catch -Block nicht gefunden wird, bedeutet dies, dass auf der Seite in diesem XPath kein Element vorhanden ist. Dann wird der Fehler erfasst, damit wir die Ausnahme fangen können.

Nach dem Ausführen des Codes löst er den Fehler "Keine solche Elementausnahme" aus. Das wollen wir uns im Fangblock erholen:

versuchen
Drive1r.FindElement (von.xPath (“// input [@id = 'djahvljadhlkgj'))
System.aus.druckin (Element existiert);

Catch (NoSuchelementException E) System.aus.druckin („Element nicht existieren);

Was wir getan haben, ist, dass wir einen Versuchsblock genommen haben. In diesem Try -Block finden wir das Element, das wir mit jedem Locator finden möchten, den wir verwenden möchten. Wenn das Element gefunden wird, wird einfach ausgeführt und die Erklärung besagt, dass das Element existiert und es nie zum Catch -Block geht. Wenn das Element nicht gefunden wird, wirft es kein solches Element aus. Dann führt es einfach das „Element nicht gefunden“ im Fangblock aus.

Beispiel 3:

In diesem Fall verwenden wir den Fahrer.Suchen Sie Elemente nach ID. Dann erhalten wir die Anzahl dieses bestimmten Elements. Wenn es nicht Null ist, bedeutet dies, dass das Element vorhanden ist. Probieren Sie immer die Findelemente, nicht das Findelement. Der Unterschied zwischen den beiden besteht darin, dass, wenn Sie das Findelement verwenden, die Ausnahme „kein solches Element gefunden“ ausgelöst werden. Die Fundelemente werfen diese Ausnahme jedoch nicht, selbst wenn das Element vorhanden ist oder nicht. Denken Sie nur daran, diese Methode für Findelemente zu verwenden und die Anzahl dieses Wertes oder diese Liste dieses Elements zu überprüfen. Wenn die Anzahl 0 ist, bedeutet dies, dass das Element nicht vorhanden ist.

if (driver1.FindElements (von.ID ("ABC")).Zählen!= 0)
Konsole.WriteLine („Element ist vorhanden“);
anders
Konsole.WriteLine („Element ist nicht vorhanden“);

In diesem Code erhalten wir die Anzahl von 0, was bedeutet, dass das Element nicht vorhanden ist.

Abschluss

Wir haben über die Verwendung der Codierung diskutiert, um festzustellen, ob die Elemente im Selen -Webdriver existieren oder nicht. Die Idee des Parameters, den Befehl Element zu finden, der ein Objekt des Webelement -Typs zurückgibt, wird hier aus den Beispielen angezeigt. In diesem Artikel verstehen wir das Konzept, wie die Existenz von Webelementen in Selenium Webdrivers mit verschiedenen Methoden findet. Sie können diesen Artikel von Anfang bis Ende beziehen, um das gesamte Konzept besser zu verstehen.