2 JavaScript-Objekte für Browser-Datenpunkte

Überblick

Dieser Abschnitt beschreibt Zabbix-Erweiterungen der mit Duktape implementierten JavaScript-Sprache zur Verwendung im Skript des Browser-Datenpunkts. Diese Erweiterungen ergänzen die auf der Seite Zusätzliche JavaScript-Objekte beschriebenen JavaScript-Objekte.

Browser

Das Objekt Browser verwaltet WebDriver-Sitzungen, initialisiert eine Sitzung bei der Erstellung und beendet sie bei der Zerstörung. Ein einzelnes Skript kann bis zu vier Browser-Objekte unterstützen.

Um ein Browser-Objekt zu erstellen, verwenden Sie die Syntax new Browser(options). Der Parameter options (JSON object) gibt Browser-Optionen an, in der Regel das Ergebnis der WebDriver-Optionsmethode (zum Beispiel Browser.chromeOptions()).

Die folgenden Methoden werden vom Objekt Browser unterstützt.

Method Description
navigate(url) Zur angegebenen URL navigieren.

Parameter:
url - (string) URL, zu der navigiert werden soll.
getUrl() Eine Zeichenfolge mit der URL der geöffneten Seite zurückgeben.
getPageSource() Eine Zeichenfolge mit dem Quelltext der geöffneten Seite zurückgeben.
findElement(strategy, selector) Ein Element-Objekt mit einem Element auf der geöffneten Seite zurückgeben (oder null zurückgeben, wenn keine Elemente mit strategy und selector übereinstimmen).

Parameter:
strategy - (string, css selector/link text/partial link text/tag name/xpath) Lokalisierungsstrategie;
selector - (string) Elementselektor unter Verwendung der angegebenen Lokalisierungsstrategie.
findElements(strategy, target) Ein Array von Element-Objekten mit mehreren Elementen auf der geöffneten Seite zurückgeben (oder ein leeres Array zurückgeben, wenn keine Elemente mit der Lokalisierungsstrategie und dem Ziel übereinstimmen).

Parameter:
strategy - (string, css selector/link text/partial link text/tag name/xpath) Lokalisierungsstrategie;
target - (string) Elementselektor unter Verwendung der angegebenen Lokalisierungsstrategie.
getCookies() Ein Array von Cookie-Objekten zurückgeben.
addCookie(cookie) Cookies setzen.

Parameter:
cookie - (Cookie object) Zu setzendes Cookie.
getScreenshot() Eine base64-kodierte Zeichenfolge zurückgeben, die ein Bild des Viewports des Browsers darstellt.
setScreenSize(x,y) Die Größe des Browser-Viewports festlegen.

Parameter:
x - (string) Breite in Pixeln;
y - (string) Höhe in Pixeln.
setScriptTimeout(timeout) Das Timeout für das Laden von Skripten festlegen.

Parameter:
timeout - (integer) Timeout-Wert in Millisekunden.
setSessionTimeout(timeout) Das Sitzungs-Timeout (Seitenlade-Timeout) festlegen.

Parameter:
timeout - (integer) Timeout-Wert in Millisekunden.
setElementWaitTimeout(timeout) Das (implizite) Timeout für die Element-Lokalisierungsstrategie festlegen.

Parameter:
timeout - (integer) Timeout-Wert in Millisekunden.
collectPerfEntries(mark) Performance-Einträge sammeln, die mit der Methode getResult() abgerufen werden können.

Parameter:
mark - (string, optional) Markierung für den Performance-Snapshot.
getRawPerfEntries() Ein Array von Performance-Eintragsobjekten zurückgeben.
getResult() Ein Result-Objekt mit Browser-Sitzungsstatistiken zurückgeben (Fehlerinformationen, Performance-Snapshots usw.).
getError() Ein BrowserError-Objekt mit Browser-Fehlern zurückgeben (oder null zurückgeben, wenn keine Browser-Fehler vorhanden sind).
setError(message) Eine benutzerdefinierte Fehlermeldung festlegen, die in das Result-Objekt aufgenommen wird.

Parameter:
message - (string) Fehlermeldung.
discardError() Den Fehler verwerfen, der im Result-Objekt zurückgegeben werden soll.
getAlert() Ein Alert-Objekt mit Browser-Warnmeldungen zurückgeben (oder null zurückgeben, wenn keine Browser-Warnmeldungen vorhanden sind).
chromeOptions() Ein chromeOptions-Objekt mit vordefinierten Chrome-Browser-Optionen zurückgeben.
firefoxOptions() Ein firefoxOptions-Objekt mit vordefinierten Firefox-Browser-Optionen zurückgeben.
safariOptions() Ein safariOptions-Objekt mit vordefinierten Safari-Browser-Optionen zurückgeben.
edgeOptions() Ein edgeOptions-Objekt mit vordefinierten Edge-Browser-Optionen zurückgeben.
switchFrame(target) Zum angegebenen Frame wechseln.

Parameter:
target - (browser element or integer, optional) Ziel-Frame. Um einen Frame anhand eines Elements auszuwählen, übergeben Sie das Element. Um einen Frame anhand des Index auszuwählen, übergeben Sie die Zahl. Wenn leer gelassen, wird zum Browsing-Kontext der obersten Ebene gewechselt.

Alle Browser-Methoden können die folgenden Fehler auslösen:

  • BrowserError - vom Objekt Error abgeleitet und wird ausgelöst, wenn der Browser-Konstruktor fehlschlägt; enthält zusätzlich eine Eigenschaft browser mit einem Browser-Objekt, das diesen BrowserError ausgelöst hat.
  • WebdriverError - von BrowserError abgeleitet; enthält dieselben Eigenschaften wie das Objekt BrowserError, die anzeigen, ob der Fehler als Reaktion auf einen Fehler in der WebDriver-Antwort erzeugt wurde.

Element

Das Element-Objekt wird von den Methoden findElement()/findElements() des Browser-Objekts zurückgegeben und kann nicht direkt erstellt werden.

Das Element-Objekt repräsentiert ein Element auf der Webseite und stellt Methoden zur Interaktion damit bereit.

Die folgenden Methoden werden vom Element-Objekt unterstützt.

Method Description
getAttribute(name) Gibt einen Attributwert des Elementattributs als Zeichenfolge zurück (oder null, wenn das angegebene Attribut nicht gefunden wurde).

Parameter:
name - (string) Attributname.
getProperty(name) Gibt einen Eigenschaftswert der Elementeigenschaft als Zeichenfolge zurück (oder null, wenn die angegebene Eigenschaft nicht gefunden wurde).

Parameter:
name - (string) Eigenschaftsname.
getText() Gibt einen Textwert des Elementtexts als Zeichenfolge zurück.
click() Klickt auf ein Element.
clear() Löscht den Inhalt eines bearbeitbaren Elements.
sendKeys(keys) Sendet Tastenanschläge.

Parameter:
keys - (string) Zu sendende Tasten.

Das Cookie-Objekt wird von der Methode getCookies() des Browser-Objekts zurückgegeben und an die Methode addCookie() übergeben.

Obwohl das Cookie-Objekt keine Methoden hat, kann es die folgenden Eigenschaften enthalten:

Property Type Description
name string Name des Cookies.
value string Wert des Cookies.
path string Pfad, für den das Cookie gültig ist.
Standardmäßig "/", wenn es beim Hinzufügen eines Cookies weggelassen wird.
domain string Domain, für die das Cookie sichtbar ist.
Standardmäßig die URL-Domain des aktiven Dokuments im aktuellen Browsing-Kontext der Sitzung, wenn sie beim Hinzufügen eines Cookies weggelassen wird.
secure boolean Gibt an, ob das Cookie sicher ist.
Standardmäßig false, wenn es beim Hinzufügen eines Cookies weggelassen wird.
httpOnly boolean Gibt an, ob das Cookie nur über HTTP verfügbar ist.
Standardmäßig false, wenn es beim Hinzufügen eines Cookies weggelassen wird.
expiry integer Ablaufzeit des Cookies (in Sekunden seit der Unix-Epoche). Darf nicht gesetzt werden, wenn sie beim Hinzufügen eines Cookies weggelassen wird.
sameSite string Das Attribut sameSite des Cookies, das steuert, ob das Cookie auf einen First-Party- oder Same-Site-Kontext beschränkt werden soll.
Kann entweder auf "Lax" oder "Strict" gesetzt werden.
Standardmäßig "None", wenn es beim Hinzufügen eines Cookies weggelassen wird.

Warnung

Das Objekt Alert repräsentiert eine Warnung auf einer Webseite, wird von der Methode getAlert() des Objekts Browser zurückgegeben und kann nicht direkt erstellt werden.

Das Objekt Alert enthält die Eigenschaft text mit dem Text der Warnung (oder null, wenn keine Warnungen vorhanden sind).

Die folgenden Methoden werden vom Objekt Alert unterstützt.

Method Description
accept() Die Warnung akzeptieren.
dismiss() Die Warnung verwerfen.

Ergebnis

Das Objekt Result enthält Sitzungsstatistiken und wird von der Methode getResult() des Objekts Browser zurückgegeben.

Typischerweise wird das Objekt Result in eine Zeichenkette umgewandelt und vom Skript zurückgegeben und anschließend durch Vorverarbeitung in Werte abhängiger Datenpunkte geparst.

Obwohl das Objekt Result keine Methoden hat, kann es die folgenden Eigenschaften enthalten.

Eigenschaft Typ Beschreibung
duration string Sitzungsdauer von der Erstellung der Sitzung bis zum Abruf des Ergebnisses.
error object Fehlerinformationen.
http_status integer Vom WebDriver zurückgegebener HTTP-Status (oder 0, wenn keine WebDriver-Fehler vorliegen).
error_code string Vom WebDriver zurückgegebener Fehler (oder eine leere Zeichenkette, wenn keine WebDriver-Fehler vorliegen).
message string WebDriver-Fehlermeldung (oder eine leere Zeichenkette, wenn keine WebDriver-Fehler vorliegen).
performance_data object Leistungsstatistiken.
summary object Leistungsübersicht.
navigation object Navigationsübersicht.
resource object Ressourcenübersicht.
details array of objects Leistungsstatistiken nach jeder Operation, die zu einer Navigation geführt haben könnte.
mark string (optional) Mit der Methode collectPerfEntries() angegebene Markierung der Leistungsaufnahme.
navigation object Navigationsstatistiken.
resource object Ressourcenübersicht für diesen Schritt.
user array of objects Array von Statistiken des Typs mark/measure.
marks array of objects Indizes markierter Leistungsaufnahmen.
name string Name der Markierung der Leistungsaufnahme.
index integer Index der Leistungsaufnahme im Array details.