2 Objets JavaScript de l’élément de navigateur

Aperçu

Cette section décrit les ajouts de Zabbix au langage JavaScript implémenté avec Duktape pour une utilisation dans le script de l’élément Browser. Ces ajouts complètent les objets JavaScript décrits sur la page Objets JavaScript supplémentaires.

Browser

L'objet Browser gère les sessions WebDriver, en initialisant une session lors de sa création et en la terminant lors de sa destruction. Un seul script peut prendre en charge jusqu'à quatre objets Browser.

Pour construire un objet Browser, utilisez la syntaxe new Browser(options). Le paramètre options (objet JSON) spécifie les options du navigateur, généralement le résultat de la méthode d'options WebDriver (par exemple, Browser.chromeOptions()).

Les méthodes suivantes sont prises en charge avec l'objet Browser.

Method Description
navigate(url) Navigue vers l'URL spécifiée.

Paramètres :
url - (string) URL vers laquelle naviguer.
getUrl() Renvoie une chaîne contenant l'URL de la page ouverte.
getPageSource() Renvoie une chaîne contenant le code source de la page ouverte.
findElement(strategy, selector) Renvoie un objet Element contenant un élément de la page ouverte (ou renvoie null si aucun élément ne correspond à strategy et selector).

Paramètres :
strategy - (string, sélecteur CSS/texte du lien/texte partiel du lien/nom de balise/Xpath) Stratégie de localisation ;
selector - (string) Sélecteur d'élément utilisant la stratégie de localisation spécifiée.
findElements(strategy, target) Renvoie un tableau d'objets Element contenant plusieurs éléments de la page ouverte (ou renvoie un tableau vide si aucun élément ne correspond à la stratégie de localisation et à la cible).

Paramètres :
strategy - (string, sélecteur CSS/texte du lien/texte partiel du lien/nom de balise/Xpath) Stratégie de localisation ;
target - (string) Sélecteur d'élément utilisant la stratégie de localisation spécifiée.
getCookies() Renvoie un tableau d'objets Cookie.
addCookie(cookie) Définit des cookies.

Paramètres :
cookie - (objet Cookie) Cookie à définir.
getScreenshot() Renvoie une chaîne encodée en base64 représentant une image de la zone d'affichage du navigateur.
setScreenSize(x,y) Définit la taille de la zone d'affichage du navigateur.

Paramètres :
x - (string) Largeur en pixels ;
y - (string) Hauteur en pixels.
setScriptTimeout(timeout) Définit le délai d'expiration du chargement du script.

Paramètres :
timeout - (integer) Valeur du délai d'expiration en millisecondes.
setSessionTimeout(timeout) Définit le délai d'expiration de la session (chargement de page).

Paramètres :
timeout - (integer) Valeur du délai d'expiration en millisecondes.
setElementWaitTimeout(timeout) Définit le délai d'expiration (implicite) de la stratégie de localisation des éléments.

Paramètres :
timeout - (integer) Valeur du délai d'expiration en millisecondes.
collectPerfEntries(mark) Collecte les entrées de performance à récupérer avec la méthode getResult().

Paramètres :
mark - (string, facultatif) marque de l'instantané de performance.
getRawPerfEntries() Renvoie un tableau d'objets d'entrée de performance.
getResult() Renvoie un objet Result contenant les statistiques de la session du navigateur (informations sur les erreurs, instantanés de performance, etc.).
getError() Renvoie un objet BrowserError contenant les erreurs du navigateur (ou renvoie null s'il n'y a pas d'erreurs du navigateur).
setError(message) Définit un message d'erreur personnalisé à inclure dans l'objet Result.

Paramètres :
message - (string) Message d'erreur.
discardError() Supprime l'erreur à renvoyer dans l'objet Result.
getAlert() Renvoie un objet Alert contenant les alertes du navigateur (ou renvoie null s'il n'y a pas d'alertes du navigateur).
chromeOptions() Renvoie un objet chromeOptions contenant des options prédéfinies pour le navigateur Chrome.
firefoxOptions() Renvoie un objet firefoxOptions contenant des options prédéfinies pour le navigateur Firefox.
safariOptions() Renvoie un objet safariOptions contenant des options prédéfinies pour le navigateur Safari.
edgeOptions() Renvoie un objet edgeOptions contenant des options prédéfinies pour le navigateur Edge.
switchFrame(target) Bascule vers le cadre spécifié.

Paramètres :
target - (élément du navigateur ou integer, facultatif) Cadre cible. Pour sélectionner un cadre par élément, transmettez l'élément. Pour sélectionner un cadre par index, transmettez le nombre. Si laissé vide, basculera vers le contexte de navigation de niveau supérieur.

Toutes les méthodes de Browser peuvent générer les erreurs suivantes :

  • BrowserError - dérivé de l'objet Error, généré si le constructeur Browser échoue ; contient une propriété supplémentaire browser avec un objet Browser ayant généré ce BrowserError.
  • WebdriverError - dérivé de BrowserError ; contient les mêmes propriétés que l'objet BrowserError, qui indiquent si l'erreur a été générée en réponse à une erreur dans la réponse WebDriver.

Élément

L’objet Element est renvoyé par les méthodes findElement()/findElements() de l’objet Browser et ne peut pas être construit directement.

L’objet Element représente un élément de la page web et fournit des méthodes pour interagir avec celui-ci.

Les méthodes suivantes sont prises en charge avec l’objet Element.

Method Description
getAttribute(name) Renvoie une chaîne de valeur d’attribut de l’attribut de l’élément (ou renvoie null si l’attribut spécifié est introuvable).

Paramètres :
name - (string) Nom de l’attribut.
getProperty(name) Renvoie une chaîne de valeur de propriété de la propriété de l’élément (ou renvoie null si la propriété spécifiée est introuvable).

Paramètres :
name - (string) Nom de la propriété.
getText() Renvoie une chaîne de valeur textuelle du texte de l’élément.
click() Clique sur un élément.
clear() Efface le contenu d’un élément modifiable.
sendKeys(keys) Envoie des touches.

Paramètres :
keys - (string) Touches à envoyer.

L'objet Cookie est renvoyé par la méthode getCookies() de l'objet Browser et transmis à la méthode addCookie().

Bien que l'objet Cookie ne possède aucune méthode, il peut contenir les propriétés suivantes :

Propriété Type Description
name string Nom du cookie.
value string Valeur du cookie.
path string Chemin pour lequel le cookie est valide.
Par défaut, "/" si omis lors de l'ajout d'un cookie.
domain string Domaine auquel le cookie est visible.
Par défaut, le domaine URL du document actif du contexte de navigation actuel de la session si omis lors de l'ajout d'un cookie.
secure boolean Indique si le cookie est sécurisé.
Par défaut, false si omis lors de l'ajout d'un cookie.
httpOnly boolean Indique si le cookie est HTTP-only.
Par défaut, false si omis lors de l'ajout d'un cookie.
expiry integer Date d'expiration du cookie (en secondes depuis l'époque Unix). Ne doit pas être défini s'il est omis lors de l'ajout d'un cookie.
sameSite string L'attribut sameSite du cookie, qui contrôle si le cookie doit être limité à un contexte propriétaire ou de même site.
Peut être défini sur \"Lax\" ou \"Strict\".
Par défaut, "None" si omis lors de l'ajout d'un cookie.

Alerte

L’objet Alert représente une alerte de page web, est renvoyé par la méthode getAlert() de l’objet Browser et ne peut pas être construit directement.

L’objet Alert contient la propriété text avec le texte de l’alerte (ou null s’il n’y a pas d’alertes).

Les méthodes suivantes sont prises en charge avec l’objet Alert.

Method Description
accept() Accepte l’alerte.
dismiss() Ignore l’alerte.

Résultat

L’objet Result contient des statistiques de session et est renvoyé par la méthode getResult() de l’objet Browser.

En général, l’objet Result est converti en chaîne et renvoyé par le script, puis analysé en valeurs d’éléments dépendants via le prétraitement.

Bien que l’objet Result ne possède aucune méthode, il peut contenir les propriétés suivantes.

Propriété Type Description
duration string Durée de la session entre la création de la session et la récupération du résultat.
error object Informations sur l’erreur.
http_status integer Code d’état HTTP renvoyé par le WebDriver (ou 0 s’il n’y a pas d’erreurs WebDriver).
error_code string Erreur renvoyée par le WebDriver (ou une chaîne vide s’il n’y a pas d’erreurs WebDriver).
message string Message d’erreur WebDriver (ou une chaîne vide s’il n’y a pas d’erreurs WebDriver).
performance_data object Statistiques de performance.
summary object Résumé des performances.
navigation object Résumé de la navigation.
resource object Résumé des ressources.
details array of objects Statistiques de performance après chaque opération ayant pu entraîner une navigation.
mark string (facultatif) Marque d’instantané de performance spécifiée avec la méthode collectPerfEntries().
navigation object Statistiques de navigation.
resource object Résumé des ressources pour cette étape.
user array of objects Tableau de statistiques de type mark/measure.
marks array of objects Index des instantanés de performance marqués.
name string Nom de la marque de l’instantané de performance.
index integer Index de l’instantané de performance dans le tableau details.