Você está visualizando a documentação da versão de desenvolvimento, ela pode estar incompleta.
Junte-se ao nosso projeto de tradução e ajude a traduzir a documentação do Zabbix em sua língua nativa.

2 Objetos JavaScript de item de navegador

Visão geral

Esta seção descreve as adições do Zabbix à linguagem JavaScript implementadas com Duktape para uso no script do item Browser. Essas adições complementam os objetos JavaScript descritos na página Objetos JavaScript adicionais.

Browser

O objeto Browser gerencia sessões do WebDriver, inicializando uma sessão na criação e encerrando-a na destruição. Um único script pode suportar até quatro objetos Browser.

Para construir um objeto Browser, use a sintaxe new Browser(options). O parâmetro options (objeto JSON) especifica as opções do navegador, geralmente o resultado do método de opções do WebDriver (por exemplo, Browser.chromeOptions()).

Os seguintes métodos são suportados com o objeto Browser.

Método Descrição
navigate(url) Navega para a URL especificada.

Parâmetros:
url - (string) URL para navegar.
getUrl() Retorna uma string da URL da página aberta.
getPageSource() Retorna uma string do código-fonte da página aberta.
findElement(strategy, selector) Retorna um objeto Element com um elemento na página aberta (ou retorna null se nenhum elemento corresponder a strategy e selector).

Parâmetros:
strategy - (string, CSS selector/link text/partial link text/tag name/Xpath) Estratégia de localização;
selector - (string) Seletor do elemento usando a estratégia de localização especificada.
findElements(strategy, target) Retorna um array de objetos Element com vários elementos na página aberta (ou retorna um array vazio se nenhum elemento corresponder à estratégia de localização e ao alvo).

Parâmetros:
strategy - (string, CSS selector/link text/partial link text/tag name/Xpath) Estratégia de localização;
target - (string) Seletor do elemento usando a estratégia de localização especificada.
getCookies() Retorna um array de objetos Cookie.
addCookie(cookie) Define cookies.

Parâmetros:
cookie - (objeto Cookie) Cookie a ser definido.
getScreenshot() Retorna uma string codificada em base64 representando uma imagem da viewport do navegador.
setScreenSize(x,y) Define o tamanho da viewport do navegador.

Parâmetros:
x - (string) Altura em pixels;
y - (string) Largura em pixels.
setScriptTimeout(timeout) Define o tempo limite de carregamento do script.

Parâmetros:
timeout - (integer) Valor do tempo limite em milissegundos.
setSessionTimeout(timeout) Define o tempo limite da sessão (carregamento da página).

Parâmetros:
timeout - (integer) Valor do tempo limite em milissegundos.
setElementWaitTimeout(timeout) Define o tempo limite da estratégia de localização do elemento (implícito).

Parâmetros:
timeout - (integer) Valor do tempo limite em milissegundos.
collectPerfEntries(mark) Coleta entradas de desempenho para recuperar com o método getResult().

Parâmetros:
mark - (string, opcional) marca do snapshot de desempenho.
getRawPerfEntries() Retorna um array de objetos de entrada de desempenho.
getResult() Retorna um objeto Result com estatísticas da sessão do navegador (informações de erro, snapshots de desempenho, etc.).
getError() Retorna um objeto BrowserError com erros do navegador (ou retorna null se não houver erros do navegador).
setError(message) Define uma mensagem de erro personalizada a ser incluída no objeto Result.

Parâmetros:
message - (string) Mensagem de erro.
discardError() Descarta o erro a ser retornado no objeto Result.
getAlert() Retorna um objeto Alert com alertas do navegador (ou retorna null se não houver alertas do navegador).
chromeOptions() Retorna um objeto chromeOptions com opções predefinidas do navegador Chrome.
firefoxOptions() Retorna um objeto firefoxOptions com opções predefinidas do navegador Firefox.
safariOptions() Retorna um objeto safariOptions com opções predefinidas do navegador Safari.
edgeOptions() Retorna um objeto edgeOptions com opções predefinidas do navegador Edge.
switchFrame(target) Alterna para o frame especificado.

Parâmetros:
target - (elemento do navegador ou inteiro, opcional) Frame de destino. Para selecionar um frame por elemento, passe o elemento. Para selecionar um frame por índice, passe o número. Se deixado em branco, alterna para o contexto de navegação de nível superior.

Todos os métodos do Browser podem lançar os seguintes erros:

  • BrowserError - derivado do objeto Error que é lançado se o construtor Browser falhar; contém uma propriedade adicional browser com um objeto Browser que lançou este BrowserError.
  • WebdriverError - derivado de BrowserError; contém as mesmas propriedades do objeto BrowserError, que indicam se o erro foi gerado em resposta a um erro na resposta do WebDriver.

Elemento

O objeto Element é retornado pelos métodos findElement()/findElements() do objeto Browser e não pode ser construído diretamente.

O objeto Element representa um elemento na página da web e fornece métodos para interagir com ele.

Os seguintes métodos são suportados com o objeto Element.

Método Descrição
getAttribute(name) Retorna uma string com o valor do atributo do elemento (ou retorna null se o atributo especificado não for encontrado).

Parâmetros:
name - (string) Nome do atributo.
getProperty(name) Retorna uma string com o valor da propriedade do elemento (ou retorna null se a propriedade especificada não for encontrada).

Parâmetros:
name - (string) Nome da propriedade.
getText() Retorna uma string com o valor do texto do elemento.
click() Clica em um elemento.
clear() Limpa o conteúdo de um elemento editável.
sendKeys(keys) Envia teclas.

Parâmetros:
keys - (string) Teclas a serem enviadas.

O objeto Cookie é retornado pelo método getCookies() do objeto Browser e passado para o método addCookie().

Embora o objeto Cookie não tenha métodos, ele pode conter as seguintes propriedades:

Propriedade Tipo Descrição
name string Nome do cookie.
value string Valor do cookie.
path string Caminho para o qual o cookie é válido.
O padrão é "/" se omitido ao adicionar um cookie.
domain string Domínio para o qual o cookie é visível.
O padrão é o domínio da URL do documento ativo do contexto de navegação atual da sessão se omitido ao adicionar um cookie.
secure boolean Indica se o cookie é seguro.
O padrão é false se omitido ao adicionar um cookie.
httpOnly boolean Indica se o cookie é HTTP-only.
O padrão é false se omitido ao adicionar um cookie.
expiry integer Tempo de expiração do cookie (em segundos desde a Época Unix). Não deve ser definido se omitido ao adicionar um cookie.
sameSite string O atributo sameSite do cookie, que controla se o cookie deve ser restrito a um contexto de primeira parte ou mesmo site.
Pode ser definido como "Lax" ou "Strict".
O padrão é "None" se omitido ao adicionar um cookie.

Alerta

O objeto Alert representa um alerta de página da web, é retornado pelo método getAlert() do objeto Browser e não pode ser construído diretamente.

O objeto Alert contém a propriedade text com o texto do alerta (ou null se não houver alertas).

Os seguintes métodos são suportados com o objeto Alert.

Método Descrição
accept() Aceita o alerta.
dismiss() Descarta o alerta.

Result

O objeto Result contém estatísticas de sessão e é retornado pelo método getResult() do objeto Browser.

Normalmente, o objeto Result é convertido em string e retornado pelo script, e então analisado em valores de item dependente por meio de pré-processamento.

Embora o objeto Result não tenha nenhum método, ele pode conter as seguintes propriedades.

Propriedade Tipo Descrição
duration string Duração da sessão desde a criação da sessão até a obtenção do resultado.
error object Informações de erro.
http_status integer Status HTTP retornado pelo WebDriver (ou 0 se não houver erros do WebDriver).
error_code string Erro retornado pelo WebDriver (ou string vazia se não houver erros do WebDriver).
message string Mensagem de erro do WebDriver (ou string vazia se não houver erros do WebDriver).
performance_data object Estatísticas de desempenho.
summary object Resumo de desempenho.
navigation object Resumo de navegação.
resource object Resumo de recursos.
details array of objects Estatísticas de desempenho após cada operação que poderia ter resultado em navegação.
mark string (opcional) Marca de snapshot de desempenho especificada com o método collectPerfEntries().
navigation object Estatísticas de navegação.
resource object Resumo de recursos para esta etapa.
user array of objects Array de estatísticas do tipo mark/measure.
marks array of objects Índices de snapshot de desempenho marcados.
name string Nome da marca de snapshot de desempenho.
index integer Índice do snapshot de desempenho no array details.