Die abstrakte Klasse Node

Alle Klassen von QF-Test's pseudo DOM API sind von dieser Klasse abgeleitet und implementieren damit das folgende Interface. Die Klasse befindet sich im Package de.qfs.apps.qftest.client.web.dom.

 
 
Node findCommonAncestor(Node node1, Node node2, Node topmost)
Liefert einen gemeinsamen Vorgänger von zwei Knoten.
Parameter
node1Der erste Knoten.
node2Der zweite Knoten.
topmostDer oberste Knoten, bei dem die Suche stoppen soll.
RückgabewertDer gemeinsame Vorgänger oder null.
 
Node getAncestorOfClass(String clazz)
Liefert die nächsten Vorgänger dieser Komponente von einer angegebenen Klasse.
Parameter
clazzDas Klassenname des Parents.
RückgabewertDer passende Vorgänger oder null.
 
Node getAncestorOfClass(String clazz, int maxDepth)
Liefert die nächsten Vorgänger dieser Komponente von einer angegebenen Klasse unter Angabe einer maximalen Suchhöhe.
Parameter
clazzDas Klassenname des Parents.
maxDepthDas maximale Suchlevel.
RückgabewertDer passende Vorgänger oder null.
 
String getAttribute(String name)
Liefert den wert eines Attributs des Knotens. Zur bequemeren Nutzung ist diese Methode bereits auf dieser Ebene für Node definiert. Falls es sich bei einem konkreten Knoten nicht um ein Objekt der Klasse DomNode handelt, ist das Ergebnis immer null. In einigen Fällen liefert diese Methode Werte für Attribute zurück, die nicht explizit angegeben wurden, z.B. die Attribute "width" und "height" für einen <IMG> Knoten. Welche Attribute implizit zur Verfügung stehen, hängt vom jeweiligen Browser ab.
Parameter
nameDer Name des Attributs.
Rückgabewert Der Wert des Attributs oder null, falls es für diesen Knoten kein solches Attribut gibt.
 
String getAttributeIfSpecified(String name)
Liefert den Wert eines Attributs, sofern dieses explizit im HTML-Code spezifiziert wurde. Zur bequemeren Nutzung ist diese Methode bereits auf dieser Ebene für Node definiert. Falls es sich bei einem konkreten Knoten nicht um ein Objekt der Klasse DomNode handelt, ist das Ergebnis immer null.
Parameter
nameDer Name des Attributs.
Rückgabewert Der Wert des Attributs oder null, falls für diesen Knoten kein solches Attribut explizit spezifiziert wurde.
 
Node getChild(int index)
Liefert den Kind-Knoten an einem bestimmten Index. Hinweis für Opera vor Version 86, Google Chrome und Microsoft Edge vor Version 100: Text-Knoten, die nur zur Formatierung des HTML-Codes dienen und keinen Einfluss auf die Darstellung der Webseite haben, werden im CDP-Verbindungsmodus nicht vom Browser an QF-Test übermittelt. Daher kann in diesem Verbindungsmodus mit diesen Browsern eine abweichende Zählung der Kind-Knoten auftreten. Prinzipiell ist hier ein Zugriff über getChildrenByTagName zu bevorzugen.
Parameter
indexDer Index des Kind-Knotens, beginnend mit 0.
RückgabewertDer Kind-Knoten an dem angegebenen Index.
Exceptions
IllegalArgumentException Falls der Index negativ oder größer als die Zahl der Kind-Knoten ist.
 
int getChildCount()
Liefert die Anzahl an Kind-Knoten. Hinweis für Opera vor Version 86, Google Chrome und Microsoft Edge vor Version 100: Text-Knoten, die nur zur Formatierung des HTML-Codes dienen und keinen Einfluss auf die Darstellung der Webseite haben, werden im CDP-Verbindungsmodus nicht vom Browser an QF-Test übermittelt. Daher kann in diesem Verbindungsmodus mit diesen Browsern eine abweichende Anzahl der Kind-Knoten auftreten.
RückgabewertDie Anzahl an Kind-Knoten.
 
Node[] getChildren()
Liefert alle Kinder dieses Knotens als Array. Hinweis für Opera vor Version 86, Google Chrome und Microsoft Edge vor Version 100: Text-Knoten, die nur zur Formatierung des HTML-Codes dienen und keinen Einfluss auf die Darstellung der Webseite haben, werden im CDP-Verbindungsmodus nicht vom Browser an QF-Test übermittelt. Daher kann in diesem Verbindungsmodus mit diesen Browsern eine abweichende Anzahl Kind-Knoten auftreten.
RückgabewertDie Kind-Knoten.
 
String getClassName()
Liefert den aktuellsten Klassennamen des Knotens.
RückgabewertDie Name der aktuellsten Klasse des Knotens.
 
String[] getClassNames()
Liefert alle Klassen des Knotens.
RückgabewertEin Array mit allen Klassen des Knotens.
 
DocumentNode getDocument()
Liefert das Dokument, zu dem dieser Knoten gehört.
Rückgabewert Das Dokument, zu dem dieser Knoten gehört. Ein DocumentNode liefert sich selbst, ein DialogNode liefert null.
 
Node getElementById(String id)
Liefert einen direkten oder indirekten Kind-Knoten mit einer bestimmten ID. Verglichen wird hierbei nicht mit dem Original-Attribut 'ID', sondern der möglicherweise durch IdResolver modifizierten ID (vgl. Abschnitt 52.1.17).
Parameter
idDie gesuchte ID.
Rückgabewert Der Kind-Knoten mit der vorgegebenen ID, ein beliebiger im Fall mehrerer Treffer oder null falls keiner gefunden wird. Ein DialogNode liefert immer null, ein FrameNode Knoten reicht den Aufruf an seinen DocumentNode Knoten weiter und ein DocumentNode Knoten an seinen <HTML> Wurzelknoten.
 
Node[] getElementsByClassName(String className)
Liefert alle direkten oder indirekten Kind-Knoten mit einer bestimmten Klasse.
Parameter
classNameDer Klassenname.
RückgabewertEin Array von Kind-Knoten mit der vorgegebenen Klasse. Werden keine gefunden, wird ein leeres Array zurückgeliefert.
 
Node[] getElementsById(String id)
Liefert alle direkten oder indirekten Kind-Knoten mit einer bestimmten ID. Verglichen wird hierbei nicht mit dem Original-Attribut 'ID' , sondern der möglicherweise durch IdResolver modifizierten ID (vgl. Abschnitt 52.1.17).
Parameter
idDie gesuchte ID.
Rückgabewert Ein Array von Kind-Knoten mit der vorgegebenen ID. Werden keine gefunden, wird ein leeres Array zurückgeliefert. Ein DialogNode liefert immer ein leeres Array, ein FrameNode Knoten reicht den Aufruf an seinen DocumentNode Knoten weiter und ein DocumentNode Knoten an seinen <HTML> Wurzelknoten.
 
Node[] getElementsByIdAndTagname(String id, String tagName)
Liefert alle direkten oder indirekten Kind-Knoten mit einem bestimmten TagNamen und einer bestimmten ID. Verglichen wird hierbei nicht mit dem Original-Attribut 'ID', sondern der möglicherweise durch IdResolver modifizierten ID (vgl. Abschnitt 52.1.17).
Parameter
idDie gesuchte ID.
tagNameDer gesuchte Tagname.
Rückgabewert Ein Array von Kind-Knoten mit der vorgegebenen ID und dem vorgegebenen Tagnamen. Werden keine gefunden, wird ein leeres Array zurückgeliefert. Ein DialogNode liefert immer ein leeres Array, ein FrameNode Knoten reicht den Aufruf an seinen DocumentNode Knoten weiter und ein DocumentNode Knoten an seinen <HTML> Wurzelknoten.
 
Node[] getElementsByTagName(String tagName)
Liefert alle direkten oder indirekten Kind-Knoten mit einem bestimmten Tagnamen.
Parameter
tagNameDer gesuchte Tagname.
Rückgabewert Ein Array von Kind-Knoten mit dem vorgegebenen Tagnamen. Werden keine gefunden, wird ein leeres Array zurückgeliefert. Ein DialogNode liefert immer ein leeres Array, ein FrameNode Knoten reicht den Aufruf an seinen DocumentNode Knoten weiter und ein DocumentNode Knoten an seinen <HTML> Wurzelknoten.
 
Node getFirstChild()
Liefert den ersten Kind-Knoten: ein Element, ein Text-Knoten oder ein Kommentar.
RückgabewertDer erste Kind-Knoten.
 
Node getFirstElementChild()
Liefert das erste Kind-Element (Text-Knoten und Kommentare werden übersprungen).
RückgabewertDas erste Kind-Element.
 
String getFlatText()
Liefert den "flachen" Textinhalt eines Knotens. Für einen einfachen Text-Knoten ist dies sein Wert. Andernfalls werden die Werte aller direkt in diesem Knoten enthaltenen Text-Knoten gesammelt. Knoten in darunter liegenden Ebenen werden nicht berücksichtigt.
Rückgabewert Der gesamte direkte Textinhalt eines Knotens.
 
String getGenericClassName()
Liefert den generischen Klassenname des Knotens.
RückgabewertDer Name der generischen Klasse.
 
int getIndexOfChild(Node child)
Liefert den Index eines bestimmten Kind-Knotens.
Parameter
childDer Kind-Knoten dessen Index ermittelt werden soll.
Rückgabewert Der Index des Kind-Knoten, beginnend bei 0, oder -1 falls es sich dabei nicht um ein Kind dieses Knotens handelt.
 
Node getInterestingParent()
Liefert den interessanten Parent eines Knoten. Das ist der Parent, der auch als Parent aufgezeichnet wird. Ein DocumentNode auf oberster Ebene oder ein DialogNode liefern null. Alle anderen Knoten sollten einen Parent haben, sofern sie nicht via JavaScript aus dem DOM entfernt wurden.
RückgabewertDer interessante Parent des Knoten.
 
Node getInterestingParent(int n)
Liefert den interessanten Parent eines Knoten. Das ist der Parent, der auch als Parent aufgezeichnet wird. Ein DocumentNode auf oberster Ebene oder ein DialogNode liefern null. Alle anderen Knoten sollten einen Parent haben, sofern sie nicht via JavaScript aus dem DOM entfernt wurden.
Parameter
nDas Level des interessanten Parents.
RückgabewertDer interessante Parent des Knoten.
 
String getName()
Liefert den Tagnamen eines Knoten. Dieser Name entspricht dem Type des Knotens in Großbuchstaben, z.B: "HTML" für einen <HTML> Knoten. Einfache Text-Knoten werden als DomNode mit dem Tagnamen "#text" repräsentiert. Pseudo-Tagnamen sind für DocumentNodes ("DOCUMENT") und DialogNodes ("DIALOG") definiert.
RückgabewertDer Tagname eines Knotens.
 
Node getNextElementSibling()
Liefert das nachfolgende Element auf der gleichen Ebene des DOM-Baums.
RückgabewertDas nachfolgende Element.
 
Node getNextSibling()
Liefert den nachfolgenden Knoten: ein Element, ein Text-Knoten oder ein Kommentar.
RückgabewertDer nachfolgende Knoten.
 
String getNodeType()
Liefert einen Bezeichner für die Art des Knotens. Diese Methode ist zwar nicht ganz im Sinne einer puristischen OO Doktrin, beim Traversieren des DOM aber sehr praktisch, um ohne Aufwand die Art des jeweiligen Knotens zu bestimmen.
Rückgabewert Ein String der die Art des Knoten angibt. Die zugehörigen Konstanten sind in den konkreten Unterklassen definiert:DocumentNode.DOCUMENT_NODE, FrameNode.FRAME_NODE, DomNode.DOM_NODE und DialogNode.DIALOG_NODE.
 
Node getNthParent(int n)
Liefert den Parent vom n-tn Level.
Parameter
nDas Level des Parents.
RückgabewertDer Parent oder null.
 
Node getParent()
Liefert den Parent eines Knoten. Ein DocumentNode auf oberster Ebene oder ein DialogNode liefern null. Alle anderen Knoten sollten einen Parent haben, sofern sie nicht via JavaScript aus dem DOM entfernt wurden.
RückgabewertDer Parent des Knoten.
 
Node getPreviousElementSibling()
Liefert das vorangehende Element auf der gleichen Ebene des DOM-Baums.
RückgabewertDas vorangehende Element.
 
Node getPreviousSibling()
Liefert den vorangehenden Knoten: ein Element, ein Text-Knoten oder ein Kommentar.
RückgabewertDer vorangehende Knoten.
 
Object getProperty(String name)
Liefert eine benutzerdefinierte Eigenschaft zurück.
Parameter
nameDer Name der Eigenschaft.
RückgabewertDer Wert der Eigenschaft oder null.
 
String getSimpleText()
Liefert den "einfachen" Textinhalt eines Knotens. Für einen einfachen Text-Knoten ist dies sein Wert. Andernfalls wird das DOM ab diesem Knoten traversiert und die Werte aller Text-Knoten gesammelt, die direkt in diesem Knoten, oder in "einfachen" Knoten wie <B> enthalten sind. Strukturell komplexere Knoten wie <TABLE> werden für die Suche nicht betreten.
Rückgabewert Der einfache Textinhalt eines Knotens.
 
String getText()
Liefert den Textinhalt eines Knotens. Für einen einfachen Text-Knoten ist dies sein Wert. Andernfalls wird das DOM ab diesem Knoten traversiert und die Werte aller verschachtelten Text-Knoten gesammelt. Dabei wird darauf geachtet, Leerraum möglichst so wiederzugeben, wie er im Browser dargestellt wird.
Rückgabewert Der gesamte direkte und indirekte Textinhalt eines Knotens.
 
String getVisibleFlatText()
Liefert den "flachen" Textinhalt eines Knotens. Für einen einfachen Text-Knoten ist dies sein Wert. Andernfalls werden die Werte aller direkt in diesem Knoten enthaltenen Text-Knoten gesammelt. Unsichtbare Knoten und Knoten in darunter liegenden Ebenen werden nicht berücksichtigt.
Rückgabewert Der gesamte direkte sichtbare Textinhalt eines Knotens.
 
String getVisibleSimpleText()
Liefert den "einfachen" Textinhalt eines Knotens. Für einen einfachen Text-Knoten ist dies sein Wert. Andernfalls wird das DOM ab diesem Knoten traversiert und die Werte aller sichtbaren Text-Knoten gesammelt, die direkt in diesem Knoten, oder in "einfachen" Knoten wie <B> enthalten sind. Strukturell komplexere Knoten wie <TABLE> werden für die Suche nicht betreten.
Rückgabewert Der sichtbare einfache Textinhalt eines Knotens.
 
String getVisibleText()
Liefert den Textinhalt eines Knotens. Für einen einfachen Text-Knoten ist dies sein Wert. Andernfalls wird das DOM ab diesem Knoten traversiert und die Werte aller verschachtelten Text-Knoten gesammelt, wobei unsichtbare Knoten ignoriert werden. Dabei wird darauf geachtet, Leerraum möglichst so wiederzugeben, wie er im Browser dargestellt wird.
Rückgabewert Der gesamte direkte und indirekte sichtbare Textinhalt eines Knotens.
 
boolean isAncestor(Node node)
Prüft, ob ein angegebener Knoten ein Vorgänger des aktuellen Knotens ist.
Parameter
nodeDer vermeintliche Vorgängerknoten.
RückgabewertTrue, falls der Knoten ein Vorgänger ist, sonst false.
 
boolean isAttributeSpecified(String name)
Prüft, ob ein Attribut eines Knotens explizit im HTML-Code spezifiziert wurde. Zur bequemeren Nutzung ist diese Methode bereits auf dieser Ebene für Node definiert. Falls es sich bei einem konkreten Knoten nicht um ein Objekt der Klasse DomNode handelt, ist das Ergebnis immer false.
Parameter
nameDer Name des Attributs.
Rückgabewert True falls das Attribut für diesen Knoten explizit spezifiziert wurde.
 
boolean isBrowserChrome()
Prüft, ob der Browser, zu dem dieser Knoten gehört, eine Chrome Variante ist.
RückgabewertTrue für Chrome Varianten, ansonsten false.
 
boolean isBrowserHeadless()
Prüft, ob der Browser, zu dem dieser Knoten gehört, eine headless Browser ist.
RückgabewertTrue für Headless Browser, ansonsten false.
 
boolean isBrowserMozilla()
Prüft, ob der Browser, zu dem dieser Knoten gehört, eine Mozilla Variante ist.
RückgabewertTrue für Mozilla Varianten, ansonsten false.
 
boolean isBrowserSafari()
Prüft, ob der Browser, zu dem dieser Knoten gehört, ein Safari Browser ist.
RückgabewertTrue für Safari Browser, ansonsten false.
 
boolean isMatchingClass(String className)
Prüft, ob der Knoten von der angegebenen Klasse ist.
Parameter
classNameDer zu prüfende Klassenname.
RückgabewertTrue, wenn der Knoten diese Klasse besitzt, sonst false.
 
void setProperty(String name, Object value)
Setzt eine benutzerdefinierte Eigenschaft.
Parameter
nameDer Name der Eigenschaft.
value Der Wert der Eigenschaft oder null um eine Eigenschaft wieder zu entfernen.