> For the complete documentation index, see [llms.txt](https://docs.roboteasy.tech/studio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboteasy.tech/studio/utilitarios/exemplos/xpath.md).

# Preenchendo Formulários com XPath

Passo a passo para desenvolvimento de um robô que abre uma página web e informa dados em um formulário utilizando o XPath

XPath é uma linguagem de consulta, utilizada para navegar em documentos xml e html (documentos que utilizam marcadores). Ou seja, ele é como um caminho ou código único dos elementos em uma página web.&#x20;

Por isso, esse código é muito utilizado nas automações para capturar informações da página, escrever em um campo de formulário ou clicar em um botão.

#### O que você vai aprender:

* Como capturar um XPath
* Diferença entre XPath e Full XPath
* Construir um robô que informa dados num formulário na web

#### Utilizaremos os objetos:

* [Abrir Navegador](/studio/geral-1/objetos/internet/navegacao-padrao/abrir-navegador.md): para abrir um navegador e acessar um site
* [Buscar Elementos](/studio/geral-1/objetos/internet/navegacao-padrao/buscar-elementos.md): para capturar um campo de um formulário e preencher com algum dado

> ✍️Vamos ao passo a passo!

## PASSO 1: Entender e capturar um XPath

#### Por que utilizamos o xPath?

&#x20;Utilizado para entender com mais facilidade a estrutura dos sites, ou seja, como ele foi criado, se é uma lista de informações, se possui div’s, iFrames, entre outras informações que utilizamos para a automação de processos.

#### &#x20;Qual a diferença do xPath para o Full xPath?

O xPath é o endereço do campo de forma abreviada, onde ele busca na página inteira o id mais o elemento , enquanto o Full xPath nos traz todo o caminho do elemento.

#### Como capturar um XPath?

Para obter o XPATH de um campo, basta clicar com o botão direito do mouse no campo que você precisa e selecionar a opção "Inspecionar". Outro caminho é utilizar o atalho **F12.**

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FmsVPT4mv0FXsBGTWRDZJ%2Fxpath.gif?alt=media&amp;token=88194847-d463-4835-b863-812af9e1d22b" alt=""><figcaption><p>Copiando um XPath</p></figcaption></figure>

Para copiar o XPATH basta clicar com o botão direito sobre o valor inspecionado e selecionar a opção Copy > Copy XPath.

Esse é o valor a ser informado no objeto [Buscar Elemento](/studio/geral-1/objetos/internet/navegacao-padrao/buscar-elementos.md).

## PASSO 2: Iniciar o Robô

A primeira coisa que queremos que o nosso robô faça é abrir um navegador web e acessar a página do Sintegra Pará (utilizada no exemplo acima).

Para isso, utilizaremos o objeto Abrir Navegador dessa forma:

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FU6ySgq30WJvLLGRRkrxJ%2Fimage.png?alt=media&amp;token=f6c0f585-4ee1-4fd3-bcec-41b95c0eaf0f" alt=""><figcaption><p>Preenchimento do objeto Abrir Navegador</p></figcaption></figure>

## PASSO 3: Buscar Elemento

Depois de abrir o site, queremos que o robô encontre o campo CNPJ e digite um valor nesse campo, automaticamente.

Para isso vamos utilizar o objeto "Buscar Elementos", e nesta etapa vamos precisar do código XPath que capturamos no PASSO 1.

O preenchimento do objeto será dessa forma:

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FunQkbJtplVfEi3HR37lU%2Fbuscarelemento.gif?alt=media&amp;token=e4bdff76-d408-415c-9d67-59208a80f00b" alt=""><figcaption><p>Preenchimento do objeto Buscar Elementos</p></figcaption></figure>

Perceba que tivemos que informar 3 dados importantes no objeto.

O primeiro foi indicar o browser que nós abrimos para que o robô saiba onde trabalhar, o segundo foi o código XPath para indicar ao robô qual campo da página ele deve procurar, e o terceiro foi informar que a ação que queremos é a de digitar um CNPJ no campo.

## PASSO 4: Ajustes Finais

Agora que você aprendeu como preencher dados em um formulário na web e utilizar o objeto "Buscar Elementos", poderá continuar o robô preenchendo todas as informações necessárias.

Nós vamos parar por aqui, **mas antes uma dica valiosa**:

Sempre que trabalhar com um navegador, lembre-se de utilizar o objeto "Fechar Navegador" no final do seu robô. O objeto elimina a instância do navegador no seu computador e evita um estouro de memória caso o robô seja executado muitas vezes em sequência.

Isso faz parte das boas práticas de desenvolvimento!

Nosso robô ficou com essa estrutura:

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FcSdtJ3mgeab7c3vuLNy7%2Fimage.png?alt=media&amp;token=e9dbc5e5-52e7-4942-910c-0da0c1666f6c" alt=""><figcaption><p>Estrutura final do robô</p></figcaption></figure>

## PASSO 5: A Execução

Ao executar este robô, teremos o seguinte resultado:

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2F3YUfIQGMSypq2o5JS6o4%2Fresultado.gif?alt=media&amp;token=8b144ad6-793a-49ad-b92d-6038a93bbb4a" alt=""><figcaption><p>Resultado da execução</p></figcaption></figure>

## Download do Robô

{% file src="/files/21thIusHKAJDDzACGBmM" %}

## Conclusão

A utilização de XPath para trabalhar com páginas web é uma das estratégias mais utilizadas entre os desenvolvedores de robôs, por isso é tão importante aprender a trabalhar com eles. Em algumas páginas, o uso do XPath pode não ser possível, e para esses casos existem algumas outras estratégias para captura de um campo, como a utilização de ID ou nome do elemento html.&#x20;

Mas isso é tema para um fórum mais avançado.

Até logo! :clap:
