2 Oggetti JavaScript dell'item del browser

Panoramica

Questa sezione descrive le estensioni di Zabbix al linguaggio JavaScript implementate con Duktape per l'uso nello script dell'item Browser. Queste estensioni integrano gli oggetti JavaScript descritti nella pagina Oggetti JavaScript aggiuntivi.

Browser

L'oggetto Browser gestisce le sessioni WebDriver, inizializzando una sessione al momento della creazione e terminandola al momento della distruzione. Un singolo script può supportare fino a quattro oggetti Browser.

Per costruire un oggetto Browser, utilizzare la sintassi new Browser(options). Il parametro options (oggetto JSON) specifica le opzioni del browser, solitamente il risultato del metodo delle opzioni WebDriver (ad esempio, Browser.chromeOptions()).

Con l'oggetto Browser sono supportati i seguenti metodi.

Method Description
navigate(url) Passa all'URL specificato.

Parametri:
url - (string) URL a cui passare.
getUrl() Restituisce una stringa con l'URL della pagina aperta.
getPageSource() Restituisce una stringa con il sorgente della pagina aperta.
findElement(strategy, selector) Restituisce un oggetto Element con un elemento nella pagina aperta (oppure restituisce null se nessun elemento corrisponde a strategy e selector).

Parametri:
strategy - (string, css selector/link text/partial link text/tag name/xpath) Strategia di individuazione;
selector - (string) Selettore dell'elemento che utilizza la strategia di individuazione specificata.
findElements(strategy, target) Restituisce un array di oggetti Element con più elementi nella pagina aperta (oppure restituisce un array vuoto se nessun elemento corrisponde alla strategia di individuazione e al target).

Parametri:
strategy - (string, css selector/link text/partial link text/tag name/xpath) Strategia di individuazione;
target - (string) Selettore dell'elemento che utilizza la strategia di individuazione specificata.
getCookies() Restituisce un array di oggetti Cookie.
addCookie(cookie) Imposta i cookie.

Parametri:
cookie - (oggetto Cookie) Cookie da impostare.
getScreenshot() Restituisce una stringa codificata in base64 che rappresenta un'immagine della viewport del browser.
setScreenSize(x,y) Imposta la dimensione della viewport del browser.

Parametri:
x - (string) Larghezza in pixel;
y - (string) Altezza in pixel.
setScriptTimeout(timeout) Imposta il timeout di caricamento dello script.

Parametri:
timeout - (integer) Valore del timeout in millisecondi.
setSessionTimeout(timeout) Imposta il timeout della sessione (caricamento della pagina).

Parametri:
timeout - (integer) Valore del timeout in millisecondi.
setElementWaitTimeout(timeout) Imposta il timeout (implicito) della strategia di individuazione degli elementi.

Parametri:
timeout - (integer) Valore del timeout in millisecondi.
collectPerfEntries(mark) Raccoglie le voci di prestazione da recuperare con il metodo getResult().

Parametri:
mark - (string, optional) Contrassegno dell'istantanea delle prestazioni.
getRawPerfEntries() Restituisce un array di oggetti voce di prestazione.
getResult() Restituisce un oggetto Result con le statistiche della sessione del browser (informazioni sugli errori, istantanee delle prestazioni, ecc.).
getError() Restituisce un oggetto BrowserError con gli errori del browser (oppure restituisce null se non ci sono errori del browser).
setError(message) Imposta un messaggio di errore personalizzato da includere nell'oggetto Result.

Parametri:
message - (string) Messaggio di errore.
discardError() Scarta l'errore da restituire nell'oggetto Result.
getAlert() Restituisce un oggetto Alert con gli avvisi del browser (oppure restituisce null se non ci sono avvisi del browser).
chromeOptions() Restituisce un oggetto chromeOptions con opzioni predefinite del browser Chrome.
firefoxOptions() Restituisce un oggetto firefoxOptions con opzioni predefinite del browser Firefox.
safariOptions() Restituisce un oggetto safariOptions con opzioni predefinite del browser Safari.
edgeOptions() Restituisce un oggetto edgeOptions con opzioni predefinite del browser Edge.
switchFrame(target) Passa al frame specificato.

Parametri:
target - (elemento del browser o integer, optional) Frame di destinazione. Per selezionare un frame tramite elemento, passare l'elemento. Per selezionare un frame tramite indice, passare il numero. Se lasciato vuoto, passerà al contesto di navigazione di livello superiore.

Tutti i metodi di Browser possono generare i seguenti errori:

  • BrowserError - derivato dall'oggetto Error, viene generato se il costruttore Browser non riesce; contiene una proprietà aggiuntiva browser con un oggetto Browser che ha generato questo BrowserError.
  • WebdriverError - derivato da BrowserError; contiene le stesse proprietà dell'oggetto BrowserError, che indicano se l'errore è stato generato in risposta a un errore nella risposta WebDriver.

Element

L'oggetto Element viene restituito dai metodi findElement()/findElements() dell'oggetto Browser e non può essere creato direttamente.

L'oggetto Element rappresenta un elemento nella pagina web e fornisce metodi per interagire con esso.

I seguenti metodi sono supportati con l'oggetto Element.

Method Description
getAttribute(name) Restituisce una stringa con il valore dell'attributo dell'elemento (oppure restituisce null se l'attributo specificato non è stato trovato).

Parametri:
name - (string) Nome dell'attributo.
getProperty(name) Restituisce una stringa con il valore della proprietà dell'elemento (oppure restituisce null se la proprietà specificata non è stata trovata).

Parametri:
name - (string) Nome della proprietà.
getText() Restituisce una stringa con il valore testuale del testo dell'elemento.
click() Fa clic su un elemento.
clear() Cancella il contenuto di un elemento modificabile.
sendKeys(keys) Invia tasti.

Parametri:
keys - (string) Tasti da inviare.

L'oggetto Cookie viene restituito dal metodo getCookies() dell'oggetto Browser e passato al metodo addCookie().

Sebbene l'oggetto Cookie non abbia metodi, può contenere le seguenti proprietà:

Proprietà Tipo Descrizione
name string Nome del cookie.
value string Valore del cookie.
path string Percorso per cui il cookie è valido.
Per impostazione predefinita è "/" se omesso durante l'aggiunta di un cookie.
domain string Dominio a cui il cookie è visibile.
Per impostazione predefinita è il dominio URL del documento attivo del contesto di navigazione corrente della sessione se omesso durante l'aggiunta di un cookie.
secure boolean Indica se il cookie è sicuro.
Per impostazione predefinita è false se omesso durante l'aggiunta di un cookie.
httpOnly boolean Indica se il cookie è solo HTTP.
Per impostazione predefinita è false se omesso durante l'aggiunta di un cookie.
expiry integer Tempo di scadenza del cookie (in secondi dall'epoca Unix). Non deve essere impostato se omesso durante l'aggiunta di un cookie.
sameSite string L'attributo sameSite del cookie, che controlla se il cookie deve essere limitato a un contesto di prima parte o dello stesso sito.
Può essere impostato su "Lax" o "Strict".
Per impostazione predefinita è "None" se omesso durante l'aggiunta di un cookie.

Avviso

L'oggetto Alert rappresenta un avviso di una pagina web, viene restituito dal metodo getAlert() dell'oggetto Browser e non può essere creato direttamente.

L'oggetto Alert contiene la proprietà text con il testo dell'avviso (oppure null se non ci sono avvisi).

I seguenti metodi sono supportati con l'oggetto Alert.

Method Description
accept() Accetta l'avviso.
dismiss() Ignora l'avviso.

Risultato

L'oggetto Result contiene le statistiche della sessione ed è restituito dal metodo getResult() dell'oggetto Browser.

In genere, l'oggetto Result viene convertito in stringa e restituito dallo script, quindi analizzato nei valori degli item dipendenti tramite preprocessing.

Sebbene l'oggetto Result non abbia metodi, può contenere le seguenti proprietà.

Proprietà Type Descrizione
duration string Durata della sessione dalla creazione della sessione al recupero del risultato.
error object Informazioni sull'errore.
http_status integer Stato HTTP restituito dal WebDriver (oppure 0 se non sono presenti errori WebDriver).
error_code string Errore restituito dal WebDriver (oppure stringa vuota se non sono presenti errori WebDriver).
message string Messaggio di errore del WebDriver (oppure stringa vuota se non sono presenti errori WebDriver).
performance_data object Statistiche delle prestazioni.
summary object Riepilogo delle prestazioni.
navigation object Riepilogo della navigazione.
resource object Riepilogo delle risorse.
details array of objects Statistiche delle prestazioni dopo ogni operazione che potrebbe aver causato una navigazione.
mark string (facoltativo) Contrassegno dell'istantanea delle prestazioni specificato con il metodo collectPerfEntries().
navigation object Statistiche di navigazione.
resource object Riepilogo delle risorse per questo passaggio.
user array of objects Array di statistiche di tipo mark/measure.
marks array of objects Indici delle istantanee delle prestazioni contrassegnate.
name string Nome del contrassegno dell'istantanea delle prestazioni.
index integer Indice dell'istantanea delle prestazioni nell'array details.