# Instruções do navegador (Beta)

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.

{% hint style="success" %}
Gerar **Gerar instruções do navegador automaticamente** no [**Web Scraper API Playground**](https://dashboard.oxylabs.io/?route=/api-playground) no painel da Oxylabs. Configure ações do navegador, teste-as e exporte as instruções geradas em formato JSON.&#x20;
{% endhint %}

### Como usar?

Para usar instruções do navegador, forneça um conjunto de `browser_instructions` ao criar uma tarefa.

Digamos que você queira pesquisar o termo `pizza boxes` em um site.

<figure><img src="/files/80c1fd5a9c03dba369512e1cbb1edd069bd64d48" alt=""><figcaption></figcaption></figure>

Um exemplo de parâmetros da tarefa seria o seguinte:

{% code overflow="wrap" %}

```bash
curl -k -x https://unblock.oxylabs.io:60000 \
-U 'USERNAME:PASSWORD' \
'https://www.ebay.com' \
-H 'x-oxylabs-render: html' \
-H "x-oxylabs-browser-instructions: [{\"type\":\"input\",\"value\":\"pizza boxes\",\"selector\":{\"type\":\"xpath\",\"value\":\"\/\/input[@class='gh-tb ui-autocomplete-input']\"}},{\"type\":\"click\",\"selector\":{\"type\":\"xpath\",\"value\":\"\/\/input[@type='submit']\"}},{\"type\":\"wait\",\"wait_time_s\":5}]"
```

{% endcode %}

**Etapa 1.** Você deve fornecer o `x-oxylabs-render: html` parâmetro.

**Etapa 2.** As instruções do navegador devem ser descritas no campo `x-oxylabs-browser_instructions` .

{% hint style="info" %}
As instruções do navegador fornecidas como valor do cabeçalho devem estar escapadas em JSON e não conter espaços extras.
{% endhint %}

As instruções de exemplo acima especificam que o objetivo é inserir um termo de pesquisa `pizza boxes` em um campo de pesquisa, clicar no botão `pesquisar` e esperar 5 segundos para o conteúdo carregar.

O resultado coletado deve ser o seguinte:

```html
<!doctype html><html>
Conteúdo após executar as instruções      
</html>
```

O HTML coletado deve ser assim:

<figure><img src="/files/f79c6a098d7bc794c7bf8b71bc9baa9281fd36c3" alt=""><figcaption></figcaption></figure>

#### Obtendo recursos do navegador <a href="#fetching-browser-resources" id="fetching-browser-resources"></a>

Fornecemos uma instrução independente do navegador para obter recursos do navegador.

A função é definida aqui:

Usando `fetch_resource` resultará na tarefa retornando a primeira ocorrência de um recurso Fetch/XHR que corresponda ao formato fornecido, em vez do HTML que está sendo alvo.

Digamos que queremos direcionar um recurso GraphQL que é obtido ao visitar uma página de produto organicamente no navegador. Forneceremos as informações da tarefa assim:

{% code overflow="wrap" %}

```bash
curl -k -x https://unblock.oxylabs.io:60000 \
-U 'USERNAME:PASSWORD' \
'https://www.example.com/product-page/123' \
-H 'x-oxylabs-render: html' \
-H "x-oxylabs-browser-instructions: [{\"type\": \"fetch_resource\",\"filter\": \"\/graphql\/product-info\/123\"}]"
```

{% endcode %}

Essas instruções resultarão em um resultado assim:

```html
{"product_id": 123, "description": "", "price": 456}
```

### Lista de instruções de navegador suportadas <a href="#list-of-supported-browser-instructions" id="list-of-supported-browser-instructions"></a>

{% content-ref url="/pages/bc126d5e8086459227e802fbd0e17f86b2f97642" %}
[Lista de instruções](/products/pt-br/web-unblocker/custom-browser-instructions/browser-instructions-beta/list-of-instructions.md)
{% endcontent-ref %}

### Códigos de status <a href="#status-codes" id="status-codes"></a>

Veja nossos códigos de resposta descritos [**aqui**](/products/pt-br/web-unblocker/response-codes.md). Os códigos de status em relação à validação das instruções estão documentados [**aqui**](/products/pt-br/web-unblocker/custom-browser-instructions/browser-instructions-beta/list-of-instructions.md#instructions-validation).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.oxylabs.io/products/pt-br/web-unblocker/custom-browser-instructions/browser-instructions-beta.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
