# Exemplo de registro de ações ao trabalhar com a Calculadora

Suponha que, antes de trabalhar com a Calculadora, o robô precise primeiro iniciar a Calculadora. Clique no botão “Iniciar programa” e familiarize-se com as opções.

<figure><img src="https://1245874961-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fti2Raw08aYi0Vr2rkcD9%2Fuploads%2Fgit-blob-84a189ba3a8c976743e2a24a4dffbeecc26b9499%2F%D0%9E%D1%81%D0%BD%D0%9C%D0%B5%D0%BD%D1%8E%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%97%D0%B0%D0%BF%D0%B8%D1%815%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%9E%D0%BA%D0%BD%D0%BE.png?alt=media" alt=""><figcaption></figcaption></figure>

Ao clicar no botão “Selecionar janela”, a janela do programa desejado é simplesmente destacada. Pressione a tecla CTRL.

<figure><img src="https://1245874961-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fti2Raw08aYi0Vr2rkcD9%2Fuploads%2Fgit-blob-fd51ac407c0060f051097919f54057897a012276%2F2024-04-11_19-07-33.png?alt=media" alt=""><figcaption></figcaption></figure>

O robô encontrou o caminho para o aplicativo. Se desejado, você pode adicionar parâmetros de inicialização (parâmetros da linha de comando). É possível especificar que o robô deve aguardar o início por um determinado período. Ao clicar no botão “Salvar”, o bloco de inicialização do programa é adicionado ao diagrama.

Ao clicar no botão “Selecionar processo”, você pode escolher um processo da lista de processos em execução no momento.

<figure><img src="https://1245874961-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fti2Raw08aYi0Vr2rkcD9%2Fuploads%2Fgit-blob-de768a4ac6837471f60b33cfeac391597369696c%2F%D0%92%D1%8B%D0%B1%D1%80%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81.png?alt=media" alt=""><figcaption></figcaption></figure>

A terceira opção é escolher o arquivo exe desejado no explorador.

A seleção da janela é, em geral, a maneira mais conveniente.

No diagrama, apareceu o bloco “Iniciar aplicativo”, configurado para iniciar o aplicativo correspondente.

<figure><img src="https://1245874961-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fti2Raw08aYi0Vr2rkcD9%2Fuploads%2Fgit-blob-c282b496fc5e6d07a79e23a6607cee7c08450869%2F%D1%80%D0%B0%D1%81%D0%BF%D0%B7%D0%BD%20%D0%B8%20%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C.png?alt=media" alt=""><figcaption></figcaption></figure>

Observe que o robô é capaz de lidar com casos complexos. Por exemplo, a calculadora no Windows 10 não é um aplicativo real, é iniciada através de um mecanismo auxiliar e não pode ser iniciada pela linha de comando. Portanto, o robô encontra o caminho correto para esse aplicativo:

![](https://sherparpa.ru/wp-content/uploads/2023/11/image55-413w265h.png)

Em seguida, na paleta de registro de ações:

Você pode manter o cursor sobre o controle por um determinado período, fazer cliques simples e duplos, clicar em uma imagem específica na tela ou clicar em uma imagem dentro de uma janela ou controle. Aqui, a mesma lógica se aplica ao reconhecimento de texto na tela, apenas neste caso, está se buscando uma imagem visual de um determinado elemento na tela. Por exemplo, é necessário encontrar o botão da calculadora apenas pela aparência, e não pelo seu seletor ou texto. Clique na ferramenta “Clique na imagem especificada dentro da janela ou controle”. Em seguida, destaque o controle desejado e pressione CTRL.

Estamos apenas destacando a janela da calculadora para que o robô não procure a imagem desejada em toda a tela.

<figure><img src="https://1245874961-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fti2Raw08aYi0Vr2rkcD9%2Fuploads%2Fgit-blob-c3df4d013239c582fbe475e5ab5b84434e20f618%2F%D0%BA%D0%B0%D0%BB%D1%8C%D0%BA%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80.png?alt=media" alt="" width="441"><figcaption></figcaption></figure>

Pressione CTRL e, em seguida, selecione um exemplo da imagem que você estará buscando.

![](https://sherparpa.ru/wp-content/uploads/2023/11/image42-309w258h.png)

Em seguida, é necessário indicar um ponto dentro ou fora da imagem encontrada, onde realmente será feito o clique. Ou seja, a imagem encontrada pode ser usada como âncora e clicar em outro ponto na janela em relação a essa âncora. Vamos clicar no centro. A ação foi registrada e poderá ser executada depois.

![](https://sherparpa.ru/wp-content/uploads/2023/11/image24-180w77h.png)

Quando você trabalha com blocos que de alguma forma registram uma imagem, as propriedades que armazenam essas imagens aparecem como um conjunto único de caracteres (identificador):

![](https://sherparpa.ru/wp-content/uploads/2023/11/image28-450w214h.png)

Sob esse nome, o robô salva as imagens com exemplos de imagens na pasta Images dentro do seu projeto (essa pasta existe em cada projeto).

Ao clicar no botão “Publicar”, não apenas o diagrama é publicado dentro de um único arquivo, mas também todas as imagens da pasta Images. Isso significa que o robô, com todos os seus recursos, pode ser transferido como um único arquivo com a extensão .robot para outro computador e lá ser executado sem problemas.

A função de espera pela aparição de um elemento na tela pode ser muito útil. Às vezes, pode ser necessário atrasar o trabalho do robô até que uma determinada janela desapareça da tela ou um determinado elemento apareça na tela. Clique nesta ferramenta

![](https://sherparpa.ru/wp-content/uploads/2023/11/image29-98w36h.png)

E, como de costume, aponte para o controle desejado, em relação ao qual o trabalho do robô será atrasado.

![](https://sherparpa.ru/wp-content/uploads/2023/11/image31-349w298h.png)

Pressionando CTRL, registre a ação. Veja as propriedades do bloco adicionado ao diagrama.

Você pode definir um tempo limite de espera em segundos. O robô continuará a executar o script após este bloco, seja quando o elemento de controle especificado aparecer na tela, seja quando o tempo de espera expirar.

![](https://sherparpa.ru/wp-content/uploads/2023/11/image33-465w304h.png)

Se o tempo de espera expirar, mas o elemento ainda não aparecer, há a possibilidade de conectar à direita algum bloco através do conector “Se erro”, e se ele estiver conectado, caso o elemento na tela ainda não apareça, o script seguirá para a direita, não para baixo. Se o conector “Se erro” não estiver conectado, o script seguirá para baixo de qualquer forma.

A propriedade “Tempo decorrido” é uma variável numérica, na qual é registrado o número de segundos que realmente se passaram até o momento em que esse elemento apareceu. Por exemplo, se o tempo máximo de espera especificado é de 10 minutos, e o elemento apareceu após 5 minutos, na variável PassedTime será registrado o número 5.

O bloco “Destacar elemento” é útil ao criar tutoriais interativos. Há um bloco que permite capturar e arrastar elementos, blocos que permitem realizar algumas ações em navegadores, como atualizar páginas, clicar no botão Voltar. Há a possibilidade de não apenas iniciar o navegador com uma guia específica, mas também se conectar ao navegador e à sua guia que já está na tela.

Lembre-se de que, ao clicar em um controle que está fora da tela, em todos os casos, o robô tentará automaticamente rolar alguma página ou lista no aplicativo até o elemento especificado, se ele não estiver à vista.

Com os cliques do mouse na automação de navegadores, há outro ponto interessante: geralmente, em todos os blocos que trabalham com programas e navegadores, há uma propriedade “ID do processo”. Nela, é registrada a variável ProcessID, que é uma variável que aponta para o programa específico com o qual estamos trabalhando no momento. Isso é importante, pois podem estar abertos simultaneamente dois aplicativos Word, e em cada um deles, dois documentos. Você pode transferir algo de um documento para outro. Ou seja, quando você coloca um bloco para trabalhar com Word ou Excel, ou algum outro programa, você precisa especificar qual aplicativo, ou seja, qual instância específica do aplicativo estamos usando no momento.

O mesmo acontece com os navegadores. Você pode abrir o Chrome ou o Explorer e ter várias guias nele. Pode ser necessário alternar entre as guias. Portanto, a variável ProcessID contém informações sobre qual instância específica do aplicativo estamos trabalhando no momento, e também sobre qual guia desse navegador estamos trabalhando.

De onde vem o valor dessa variável? Ele aparece no bloco “Iniciar aplicativo”. No bloco “Clique do mouse”, o ID do processo é uma propriedade de entrada que determina o funcionamento do bloco. E no bloco “Iniciar aplicativo”, o ID do processo é uma propriedade de saída, ou seja, o bloco gravará o valor necessário nessa variável após iniciar o aplicativo.


---

# 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://docs.sherparpa.ru/pt/sherpa-rpa/sherpa-designer/rabota-v-sherpa-designer/osnovnoe-menyu/panel-razrabotka/menyu-zapis/zapis-deistvii-polzovatelya/primer-zapisi-deistvii-pri-rabote-s-kalkulyatorom.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.
