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 pelo objeto Browser.
| Method | Description |
|---|---|
navigate(url) |
Navegar para a URL especificada. Parameters: url - (string) URL para a qual navegar. |
getUrl() |
Retornar uma string da URL da página aberta. |
getPageSource() |
Retornar uma string do código-fonte da página aberta. |
findElement(strategy, selector) |
Retornar um objeto Element com um elemento na página aberta (ou retornar null se nenhum elemento corresponder a strategy e selector).Parameters: strategy - (string, css selector/link text/partial link text/tag name/xpath) Location strategy;selector - (string) Seletor de elemento usando a estratégia de localização especificada. |
findElements(strategy, target) |
Retornar um array de objetos Element com vários elementos na página aberta (ou retornar um array vazio se nenhum elemento corresponder à estratégia de localização e ao target).Parameters: strategy - (string, css selector/link text/partial link text/tag name/xpath) Location strategy;target - (string) Seletor de elemento usando a estratégia de localização especificada. |
getCookies() |
Retornar um array de objetos Cookie. |
addCookie(cookie) |
Definir cookies. Parameters: cookie - (objeto Cookie) Cookie a ser definido. |
getScreenshot() |
Retornar uma string codificada em Base64 que representa uma imagem da viewport do navegador. |
setScreenSize(x,y) |
Definir o tamanho da viewport do navegador. Parameters: x - (string) Largura em pixels;y - (string) Altura em pixels. |
setScriptTimeout(timeout) |
Definir o tempo limite de carregamento do script. Parameters: timeout - (integer) Valor do tempo limite em milissegundos. |
setSessionTimeout(timeout) |
Definir o tempo limite da sessão (carregamento da página). Parameters: timeout - (integer) Valor do tempo limite em milissegundos. |
setElementWaitTimeout(timeout) |
Definir o tempo limite da estratégia de localização de elementos (implícita). Parameters: timeout - (integer) Valor do tempo limite em milissegundos. |
collectPerfEntries(mark) |
Coletar entradas de desempenho para recuperar com o método getResult().Parameters: mark - (string, optional) Marca do snapshot de desempenho. |
getRawPerfEntries() |
Retornar um array de objetos de entrada de desempenho. |
getResult() |
Retornar um objeto Result com estatísticas da sessão do navegador (informações de erro, snapshots de desempenho etc.). |
getError() |
Retornar um objeto BrowserError com erros do navegador (ou retornar null se não houver erros do navegador). |
setError(message) |
Definir uma mensagem de erro personalizada para ser incluída no objeto Result.Parameters: message - (string) Mensagem de erro. |
discardError() |
Descartar o erro a ser retornado no objeto Result. |
getAlert() |
Retornar um objeto Alert com alertas do navegador (ou retornar null se não houver alertas do navegador). |
chromeOptions() |
Retornar um objeto chromeOptions com opções predefinidas do navegador Chrome. |
firefoxOptions() |
Retornar um objeto firefoxOptions com opções predefinidas do navegador Firefox. |
safariOptions() |
Retornar um objeto safariOptions com opções predefinidas do navegador Safari. |
edgeOptions() |
Retornar um objeto edgeOptions com opções predefinidas do navegador Edge. |
switchFrame(target) |
Alternar para o frame especificado. Suportado desde a versão 7.0.4. Parameters: target - (browser element or integer, optional) 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, alternará para o contexto de navegação de nível superior. |
Todos os métodos de Browser podem gerar os seguintes erros:
BrowserError- derivado do objetoErrorque é lançado se o construtorBrowserfalhar; contém uma propriedade adicionalbrowsercom um objetoBrowserque gerou esseBrowserError.WebdriverError- derivado deBrowserError; contém as mesmas propriedades do objetoBrowserError, que indicam se o erro foi gerado em resposta a um erro na resposta do WebDriver.
Element
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 web e fornece métodos para interagir com ele.
Os seguintes métodos são suportados pelo objeto Element.
| Method | Description |
|---|---|
getAttribute(name) |
Retorna uma string com o valor de um atributo do elemento (ou retorna null se o atributo especificado não for encontrado).Parameters: name - (string) Nome do atributo. |
getProperty(name) |
Retorna uma string com o valor de uma propriedade do elemento (ou retorna null se a propriedade especificada não for encontrada).Parameters: 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. Parameters: keys - (string) Teclas a serem enviadas. |
Cookie
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 nenhum método, 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. | ||