Instruções do navegador (Beta)
Com o Web Unblocker, você pode definir instruções do navegador ao criar um job para um processo de coleta de dados mais fluido.
Ao usar Instruções Personalizadas do Navegador, você pode definir suas próprias instruções específicas do navegador que são executadas ao renderizar JavaScript.
Como usar?
Para usar instruções do navegador, forneça um conjunto de browser_instructions ao criar um job.
Digamos que você queira pesquisar o termo caixas de pizza em um site.

Um exemplo de parâmetros do job seria o seguinte:
Etapa 1. Você deve fornecer o x-oxylabs-render: html parâmetro.
Etapa 2. As instruções do navegador devem ser descritas no x-oxylabs-browser_instructions campo.
As instruções de navegador de exemplo acima especificam que o objetivo é inserir um termo de busca caixas de pizza em um campo de busca, clicar no busca botão e aguardar 5 segundos para o conteúdo carregar.
O resultado coletado deve ser semelhante ao seguinte:
O HTML coletado deve ser assim:

Obtendo recursos do navegador
Fornecemos uma instrução de navegador independente para obter recursos do navegador.
A função é definida aqui:
Usando fetch_resource resultará no job retornar a primeira ocorrência de um recurso Fetch/XHR que corresponda ao formato fornecido em vez do HTML que está sendo segmentado.
Digamos que queremos segmentar um recurso GraphQL que é buscado ao visitar naturalmente uma página de produto no navegador. Forneceremos as informações do job assim:
Essas instruções resultarão em um resultado como este:
Lista de instruções de navegador compatíveis
Argumentos gerais
Todas as instruções definidas abaixo têm um conjunto consistente de argumentos. Os argumentos são os seguintes.
type
Tipo:
Enum["click", "input", "scroll", "scroll_to_bottom", "wait", "wait_for_element", "fetch_resource"]Descrição: Tipo da instrução do navegador.
timeout_s
Tipo:
inteiroDescrição: Quanto tempo até a ação ser ignorada se não for concluída a tempo.
Restrições: 0 <
timeout_s<= 60Valor padrão: 5
wait_time_s
Tipo:
inteiroDescrição: Quanto tempo esperar antes de executar a próxima ação.
Restrições: 0 <
wait_time_s<= 60Valor padrão: 0
on_error
Tipo:
Enum["error", "skip"]Descrição: Indicador do que fazer com as instruções caso esta instrução falhe:
"error": Interrompe a execução das instruções do navegador."skip": Continua com a próxima instrução.
Valor padrão:
"error"
Exemplo com argumentos gerais
Instruções
click
Descrição: Clica em um elemento e espera uma quantidade definida de segundos.
Args:
type: str = "click"selector: dicttype: Enum["xpath", "css", "text"]value: str
Exemplo:
input
Descrição: Insere texto em um elemento selecionado.
Args:
type: str = "input"selector: dicttype: Enum["xpath", "css", "text"]value: str
value: strExemplo:
scroll
Descrição: Rola um número definido de pixels.
Args:
type: str = "scroll"x: inty: int
Exemplo:
scroll_to_bottom
Descrição: Rola até o final por uma quantidade definida de segundos.
Args:
type: str = "scroll_to_bottom"
Exemplo:
wait
Descrição: Aguarda uma quantidade definida de segundos.
Args:
type: str = "wait"
Exemplo:
wait_for_element
Descrição: Aguarda o carregamento do elemento por uma quantidade definida de segundos.
Args:
type: str = "wait_for_element"selector: dicttype: Enum["xpath", "css", "text"]value: str
Exemplo:
fetch_resource
Descrição: Obtém a primeira ocorrência de um recurso Fetch/XHR que corresponda ao padrão definido.
Args:
type: str = "fetch_resource"filter: str(RegEx expression)on_error: Enum["error", "skip"]
Exemplo:
Validação das instruções
Qualquer inconsistência em relação ao formato da instrução resultará em um 400 código de status e uma mensagem de erro correspondente.
Por exemplo, um payload como este:
Resultará em:
Códigos de status
Veja nossos códigos de resposta descritos aqui.
Atualizado
Isto foi útil?