# Login com Cofre de Senhas

Com a utilização do cofre de senhas o desenvolvedor de um robô não terá acesso às senhas explícitas da organização. Dessa forma, é possível automatizar processos e manter a integridade de informações confidenciais.

#### O que você vai aprender:

* Acessar sites no navegador
* Preencher formulários utilizando XPath
* Utilização de cofre de senhas

#### Utilizaremos os objetos:

1. [Abrir Navegador](https://docs.roboteasy.tech/studio/geral/objetos/internet/navegacao-padrao/abrir-navegador): para abrir um navegador e acessar um site
2. [Buscar Elementos](https://docs.roboteasy.tech/studio/geral/objetos/internet/navegacao-padrao/buscar-elementos): para capturar um campo de um formulário e preencher os dados de usuário e senha

> ✍️Vamos ao passo a passo!

## PASSO 1: Acessar um Site

Utilizaremos o objeto "Abrir Navegador" para abrir um navegador web e acessar a página onde faremos o nosso login.&#x20;

Acessaremos o site do HUB, que é um outro produto Roboteasy!

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FwqS4PDsC1G5GoKgJmgRE%2Fimage.png?alt=media&#x26;token=f44959d9-1458-4115-a490-3a9a53d4370d" alt=""><figcaption><p>Uso do objeto Abrir Navegador</p></figcaption></figure>

## PASSO 2: Capturar XPath dos Campos

Vamos acessar o site e obter o XPath de 3 campos: usuário, senha e o botão entrar.

{% hint style="info" %}
Para aprender o que é e como obter um XPath, acesse a página [Preenchendo Formulários com XPAth](https://docs.roboteasy.tech/studio/utilitarios/exemplos/xpath)
{% endhint %}

Os códigos XPath que precisamos são esses:

```
Campo usuário: /html/body/div[1]/div/div/div[1]/div[2]/label[1]/div/div/div/input
Campo senha  : /html/body/div[1]/div/div/div[1]/div[2]/label[2]/div/div/div/input
Botão entrar : /html/body/div[1]/div/div/div[1]/div[2]/button
```

## PASSO 3: Preenchendo o Usuário

Agora que o nosso robô já acessa a página e nós já temos os códigos necessários, vamos utilizar o objeto Buscar Elementos para indicar ao robô onde ele deve preencher as informações e em qual botão deve clicar para fazer o login na página.

O objeto buscar elementos deverá ser preenchido assim:

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FW8e0etfn0RSoUbcCgMm0%2Fcampo%20usuario.gif?alt=media&#x26;token=1183c082-a195-44a4-8c87-d2a1881c73c6" alt=""><figcaption><p>Buscar Elementos para preencher o usuário</p></figcaption></figure>

## PASSO 4 : Preenchendo a Senha

Para o preenchimento da senha, vamos utilizar o cofre de senhas cadastrado no Orquestrador.

É importante prestar atenção na forma como o cofre está cadastrado e na sintaxe para acessar a informação através do Studio.&#x20;

{% hint style="info" %}
Para mais detalhes sobre como cadastrar um cofre, acesse a documentação de [Cofre de Senhas do Orquestrador](https://docs.roboteasy.tech/orquestrador/geral/funcionalidades/cofre-de-senhas).
{% endhint %}

Nosso cofre está cadastrado na seguinte estrutura:

* Nome do cofre: CofreHUB
* Nome da senha: SenhaCintia

Vamos utilizar novamente o objeto "Buscar Elementos" para localizar o campo senha e preencher o dado do cofre:

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FQ9lzjRgrlVLooROy0eNj%2Fcampo%20senha.gif?alt=media&#x26;token=d9b715dd-636e-4a5b-a00e-96ee835f09d9" alt=""><figcaption><p>Buscar Elementos para preencher a senha com o cofre</p></figcaption></figure>

{% hint style="info" %}
No exemplo acima utilizamos o botão ![](https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FmrFxJqIhV0Nypz7OL8LO%2Fimage.png?alt=media\&token=d6ec928f-f0f1-4076-80ac-2b23f9b70ff8) para localizar o cofre, mas se você já estiver familiarizado com a forma de uso, pode digitar manualmente no formulário. A estrutura será sempre a mesma: **cof.**<mark style="color:orange;">**nomeDoCofre**</mark>**.**<mark style="color:green;">**codigoDaSenha**</mark>
{% endhint %}

## PASSO 5: Clicar no Botão Entrar

Para finalizar o processo de login, precisamos que o robô clique no botão Entrar. Para isso, vamos utilizar novamente o objeto "Buscar Elementos", mas dessa vez com a ação de clicar:

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FBj2DlWHagB9g55ECrP68%2Fbotao%20entrar.gif?alt=media&#x26;token=f747c543-0a17-499f-a408-c8ac3623a819" alt=""><figcaption><p>Buscar Elementos para clicar no botão entrar</p></figcaption></figure>

Daqui em diante o robô poderia fazer inúmeras ações dentro da página em que nós realizamos o login. Como o nosso exemplo finaliza por aqui, vamos adicionar o elemento "Fechar Navegador" para evitar qualquer instância do Chrome presa no nosso computador.

A estrutura final do nosso robô é essa:

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FWR8ozkCICjU3Wc3ZaPga%2Fimage.png?alt=media&#x26;token=8e11016c-044f-40ac-9581-f067c7137e74" alt=""><figcaption><p>Estrutura do robô</p></figcaption></figure>

## PASSO 6: 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%2FQDqFYmkJHg2MJymky8MJ%2Fresultado.gif?alt=media&#x26;token=0d51a985-7ed4-4b0f-8dc1-9aa95c168e57" alt=""><figcaption><p>Resultado da execução</p></figcaption></figure>

## Download do Robô

Não esqueça de mudar o cofre de senhas!

{% file src="<https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FvMJFzOtRw2mVMohdmB51%2FAcesso%20Cofre%20de%20Senhas.roboteasy?alt=media&token=0fbcbe66-edcf-40b3-b7f1-f633a22394a5>" %}

## Conclusão

Percebeu que em nenhum momento tivemos acesso à senha explicitamente? Essa é a magia do cofre, de modo que a integridade dos dados seja mantida o tempo todo.

Até logo! :clap:
