# Automação de Busca no Yandex

O trabalho com navegadores e aplicativos de desktop no Sherpa RPA é maximamente unificado.

Vamos considerar a tarefa de inserir texto e clicar na barra de busca do Yandex. Ao trabalhar com essa tarefa, é possível observar imediatamente vários problemas potenciais e aprender a resolvê-los. Ao gravar o clique no botão “Encontrar”, preste atenção: quando o cursor está sobre o botão, a cor do botão fica um pouco mais escura. Isso significa que, no momento em que o cursor passa sobre o botão, seu estilo muda, e, portanto, o seletor muda. Além disso, ao tentar digitar ou colar algo na barra de busca do Yandex, um javascript é executado no campo de edição, que realiza uma busca instantânea e atrapalha o método padrão de inserção de textos nos campos de edição. Para resolver esse problema, utilizaremos a função de emulação de pressionamento de teclas.

Vamos gravar um pequeno script. Clique no botão Gravar. Clique no botão ![](https://sherparpa.ru/wp-content/uploads/2023/11/image57-29w28h-3.png) para emular o pressionamento das teclas do teclado. Uma janela apareceu, através da qual você pode configurar essa função.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.1-1.png)

Primeiro, é necessário indicar, com a mira vermelha, o elemento de controle com o qual você deseja trabalhar.

Preste atenção em um ponto importante que frequentemente ocorre ao trabalhar com sites. Assim que o cursor ultrapassa a borda do campo de edição, um retângulo maior que o campo de edição é destacado com uma borda vermelha.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.2-1.png)

O fato é que as páginas da web também são compostas por muitos contêineres aninhados, elementos, etc., e o problema com vários níveis de aninhamento em páginas da web é muito mais pronunciado do que em aplicativos comuns. Por causa disso, às vezes você pode clicar no lugar errado e gravar a ação errada. Muitas vezes, pela aparência externa, é difícil dizer o que é um contêiner e o que é um elemento de controle. Você deve tentar trabalhar primeiro com um e, em caso de erro, com o outro.

Posicione o cursor sobre o retângulo interno do campo de edição. O clique foi gravado. Agora digite o texto para a busca.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.3-2.png)

Na janela acima, você pode inserir qualquer texto, em inglês ou russo. Se para inserir o próximo caractere for necessário alternar o layout do teclado, o robô fará isso automaticamente. Aqui também é possível emular a entrada de teclas ou combinações de teclas.

Por exemplo, após inserir o texto, você precisa pressionar alguma combinação de teclas, digamos, CTRL+Shift+S. Para isso, clique duas vezes na linha onde está indicado +CTRL (+ significa pressionar o botão)

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.4-1.png)

Depois, clique duas vezes no botão +Shift

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.5.png)

Isso significa que você pressionou Shift, mas ainda não soltou Ctrl, ou seja, ambas as teclas estão pressionadas juntas.

Depois, simplesmente digite S no teclado.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.6.png)

Em seguida, você precisa soltar as teclas pressionadas. Para isso, selecione os itens –Shift e –Ctrl.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.7.png)

Esse código, gravado no campo de texto, permitirá emular o pressionamento da combinação de teclas CTRL+Shift+S.

Clique no botão Testar.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.8.png)

Na barra de busca do Yandex, sua consulta é inserida. Clique no botão Salvar e depois no botão Salvar e fechar na barra de gravação. O resultado é salvo na forma de um bloco.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.9.png)

Vamos considerar as propriedades do bloco “Pressionar teclas”.

A propriedade “Interativo” (marcado) indica se será utilizado o método de entrada em que todo o texto é inserido de uma vez ou se, após pressionar cada tecla, será emulada uma pausa. Muitas vezes, quando a marcação está desmarcada, os scripts que são executados na página atrapalham a entrada de texto. Portanto, é melhor marcar essa opção, embora sem ela seja mais rápido. Se a marcação estiver ativada, você pode especificar o tempo de pausa entre as pressões de teclas em milissegundos.

Selecionar tudo – é uma propriedade bastante útil. Se você marcar essa opção, o robô emulará a pressão das teclas Ctrl+A antes de inserir o texto, para selecionar todo o texto já inserido no campo de edição. Isso é útil se você não tiver certeza se já há algo digitado no campo onde você irá inserir o texto.

Assim, após inserir nosso texto para busca, é necessário pressionar o botão Encontrar. Vamos clicar no botão de gravação. Preste atenção, ao passar o mouse sobre o botão Encontrar, ocorre uma situação semelhante à descrita anteriormente – há uma parte interna do botão e uma parte externa do botão, e elas estão aninhadas uma na outra.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.10.png)

Grave o clique no botão usando a pressão de CTRL.

Verifique o bloco que apareceu no designer e seu seletor. Verifique o funcionamento do seletor. O seletor não funciona. Após inserir o texto na barra de busca, nada acontece, ou seja, o botão Encontrar não é pressionado.

Como mencionado anteriormente, ao passar o cursor sobre o botão Encontrar, a área retangular do botão fica um pouco mais escura. Isso significa que há um script “pendurado” nele, que muda o seletor do botão. Isso pode ser facilmente visto na janela de edição do seletor.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.11.png)

Embora a edição de seletores para navegadores seja feita na mesma janela que para aplicativos, a aparência desses seletores é diferente. Normalmente, eles têm apenas duas ou três linhas, sendo que a linha superior ainda representa o processo, neste caso, Chrome, e a linha inferior é o seletor que usaremos para encontrar o elemento de controle desejado na página. Aqui, é utilizada a notação de seletores CSS, que não é tão complicada quanto pode parecer à primeira vista.

Há um conjunto de nomes de tags (escritos em letras maiúsculas) ou nomes de classes (escritos em letras minúsculas), e eles são conectados entre si por pontos. O ponto aqui tem o significado de “e”. Encontre o elemento de controle que tem a tag BUTTON, e nas propriedades estão listadas todas aquelas propriedades que estão indicadas no seletor:

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.12.png)

No seletor acima, a última parte levanta dúvidas:

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.13.png)

A propriedade hovered\_yes significa que o cursor do mouse está sobre o botão. Isso indica que o estilo do botão muda porque o cursor está sobre ele. Para corrigir esse seletor, basta remover essa propriedade da gravação do seletor junto com o ponto. O restante pode ser mantido.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.14.png)

Verifique o funcionamento do seletor usando o botão Destacar.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.15.png)

O robô foca a borda ao redor do elemento desejado.

Verifique o funcionamento do seletor na prática. No designer, clique no botão Iniciar

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.16.png)

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.17.png)

O robô executou seu script corretamente.

Graças ao fato de que a opção “Selecionar tudo” está marcada nas propriedades, o robô primeiro remove o texto que já estava no elemento de controle.

Assim, você acessou a página de resultados, e a próxima ação lógica aqui é fazer o parsing de todos os resultados da busca, ou seja, é necessário obter todos os resultados na forma de uma lista – clicar em todos os resultados e obter suas descrições. Isso pode ser feito de pelo menos cinco maneiras diferentes.

1. Existem blocos de navegador invisível que permitem baixar toda a página com os resultados e extrair os resultados desejados do código html. Mas existem maneiras mais simples.
2. Para trabalhar com navegadores invisíveis, há um bloco de busca do Yandex, que implementa a tarefa de busca de palavras-chave e obtenção de resultados de busca a partir de um número especificado de páginas. Ele também suporta o reconhecimento automático do Captcha do Yandex.3. Ao trabalhar visualmente com o navegador, você pode usar o bloco "Contar elementos", que permite contar quantos elementos do mesmo tipo estão na página.
3. É possível obter texto usando variáveis de substituição para obter uma quantidade específica de elementos semelhantes da página. Mas, nesse caso, é necessário entender como funciona o seletor CSS para saber onde inserir corretamente as variáveis de substituição.
4. Outra maneira simples é usar o botão Extrair dados.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.18.png)

Esse botão permite extrair informações estruturadas de sites. Informações estruturadas são listas, tabelas e simplesmente um conjunto de elementos semelhantes na página. Esse mesmo botão pode funcionar de maneira semelhante não apenas no navegador, mas também em alguns aplicativos. Com ele, você pode extrair uma tabela do Excel, Word e até mesmo da interface 1C.

Clique no botão "Extrair dados".

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.19.png)

A janela de dica informa que, após clicar no botão Avançar, você deve indicar um ou dois exemplos dos elementos que deseja extrair. Um exemplo geralmente é suficiente para extrair dados de tabelas que foram formatadas como tabelas, e dois exemplos são fornecidos para extrair dados de listas de resultados de pesquisa. Clique no botão Avançar.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.20.png)

Realce o primeiro resultado e pressione CTRL.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.21.png)

A próxima janela de dica recomenda clicar em Avançar nesta mesma janela, em seguida, mover o cursor para o SEGUNDO elemento de dados (linha ou célula) para realçá-lo e pressionar CTRL. Siga essa recomendação.

Selecione o segundo elemento na página de resultados. Observe que há muitos contêineres aninhados e, ao clicar, é necessário escolher o elemento correto.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.22.png)

Na janela, estão apresentados todos os 10 resultados de pesquisa extraídos da página de resultados com base nos dois exemplos que selecionamos. Esses resultados podem ser salvos automaticamente em uma tabela de dados.

Se você precisar extrair da lista de resultados não apenas os títulos, mas também, por exemplo, descrições, endereços, etc., pode usar o botão "Adicionar nova coluna".

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.23.png)

Ao clicar no botão, o sistema recomenda clicar no botão Avançar, mover o cursor do mouse para o exemplo do elemento com os dados (linha ou célula) que você deseja adicionar, para realçar o elemento com uma borda, e então pressionar CTRL.

Tente extrair nomes de domínio.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.24.png)

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.25.png)

Uma segunda coluna apareceu, onde, com base no nosso exemplo, o robô coletou todos os resultados. Observe que os resultados da primeira e da segunda coluna estão corretamente correspondidos. Ou seja, o robô entende a relação estrutural entre o título de cada resultado e o nome de domínio.

Se você precisar clicar nos resultados da pesquisa e obter os URLs das páginas, pode usar uma função especial na aba do editor de seletores.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.26.png)

Aqui estão os seletores pelos quais foram extraídas a primeira e a segunda colunas. Se algo não funcionar por algum motivo, você sempre pode alterar manualmente esses seletores. Além disso, o robô geralmente oferece várias opções diferentes de seletores para escolher um determinado elemento:

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.27-1.png)

Várias opções podem ser corretas ao mesmo tempo. Ao escolher a opção correta, é necessário garantir que não haja partes variáveis nela. Nas opções apresentadas, isso não ocorre. Mas se você ver uma combinação estranha de letras, símbolos e números no seletor, provavelmente é algum ID que muda em tempo real. Ou seja, toda vez que você acessar a página e atualizá-la, essa combinação de símbolos mudará. Isso significa que o robô não conseguirá encontrar o elemento de controle desejado a qualquer momento com esse seletor. Também é duvidoso ter uma combinação de vários números (mais de três). Isso geralmente também é um ID, e não um valor fixo.

Neste caso, o seletor funcionou imediatamente, então deixamos o valor original para ambas as colunas.

Se você tivesse alterado o seletor, poderia clicar no botão "Atualizar usando novos dados". Então, na primeira aba, você veria os resultados atualizados. Além disso, você pode reescolher a coluna de dados gravados anteriormente ou trabalhar com a lista de seletores.

Para adicionar mais uma coluna com links, é necessário clicar no botão correspondente.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.28.png)

O robô considerou que o seletor "A" seria suficiente e que poderíamos obter o link para esse elemento. Clique no botão Atualizar.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.29.png)

Como resultado, uma nova coluna com URLs das páginas foi criada. Clique em Salvar.

No diagrama, apareceu um bloco pré-configurado "Extrair dados", onde tudo está pronto para extrair resultados em tempo real.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.30.png)

Como verificar o funcionamento desse bloco.

Esse bloco envia os resultados para a variável especificada na propriedade de saída do resultado.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.31.png)

Você pode especificar qualquer variável aqui, mas é comum primeiro declarar a variável com a qual iremos trabalhar a seguir. Especialmente se for uma variável composta.

Declare a variável Table e indique seu tipo – tabelas de dados.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.32.png)

Isso não é necessário. Se você não criar uma variável, mas ela for usada como parâmetro de saída em alguma propriedade, ela ainda será criada automaticamente. A conveniência da declaração explícita de variáveis no painel de variáveis é que você pode, no modo de depuração, em qualquer etapa, ver o conteúdo atual dessa tabela.

Exiba o conteúdo dessa tabela na tela. Para isso, use o bloco "Janela de mensagem" do grupo "Janelas de diálogo".

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.33.png)

Esse bloco suporta a exibição de tipos de dados simples e complexos.

Nas propriedades do bloco, selecione nossa variável Table. O texto da mensagem exibida na tela será retirado dela.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.34.png)

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.35.png)

Volte para a página do Yandex e execute todo o cenário.

Após a busca dos resultados pela consulta, uma janela apareceu, onde você vê o conteúdo de todas as três colunas. Os dados não estão separados, mas, mesmo assim, todas as informações extraídas estão registradas aqui.

![](https://sherparpa.ru/wp-content/uploads/2024/02/ris.36.png)

Em seguida, você pode usar o conteúdo dessa tabela em loops, percorrendo as linhas – usando quaisquer outras ferramentas que a plataforma oferece para trabalhar com tabelas de dados.


---

# 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/primery-avtomatizacii-populyarnykh-prilozhenii/avtomatizaciya-poiska-v-yandekse.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.
