Obter Auto.ru#

Vamos considerar um exemplo de robô que verifica em que posição na busca estão os carros no site Auto.ru. Os dados de entrada são um arquivo Excel. Durante a verificação, o preço é salvo, e o salão na consulta de busca permanece até que o salão especificado na variável OurSalon seja encontrado.

O projeto do robô consiste em dois diagramas e um arquivo no formato xlsx.

O diagrama principal do projeto é assim (para conveniência, os blocos do diagrama estão numerados):

  1. Bloco “Início” (a partir deste bloco começa qualquer diagrama).
  2. Bloco “Iniciar Chrome” permite iniciar o Google Chrome. Para este bloco, as seguintes propriedades são especificadas:
  • URL (endereço da página a ser aberta na inicialização);
  • Tempo de espera (tempo de espera para iniciar o aplicativo e carregar a aba em segundos).
  1. Bloco “Criar documento” permite criar um documento Excel. Para este bloco, uma propriedade é especificada: “Nome da planilha” (nome da planilha onde as ações subsequentes ocorrerão).
  1. Bloco “Adicionar planilha” permite adicionar uma planilha ao documento Excel. Para este bloco, as seguintes propriedades são especificadas:
  • Link para o documento (link para o documento com o qual se está trabalhando atualmente. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
  • Nome da planilha (nome da planilha que deve ser adicionada ao documento Excel).
  1. Bloco “Abrir documento” permite abrir um documento Excel. Para este bloco, a propriedade “Caminho para o arquivo” é especificada (caminho para o documento Excel que precisa ser aberto).
  1. Bloco “Obter valor da célula” permite ler o valor de uma célula do documento Excel. Para este bloco, as seguintes propriedades são especificadas:
  • Link para o documento (link para o documento com o qual se está trabalhando atualmente. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
  • Planilha (número da planilha onde a célula requerida está localizada. A numeração começa em 1);
  • Linha (número da linha onde a célula requerida está localizada. A numeração começa em 1);
  • Coluna (número da coluna onde a célula requerida está localizada. A numeração começa em 1).
  1. Bloco “Condição” verifica a veracidade da condição especificada, após o que a execução do cenário continua na saída “Sim” (se a condição for atendida) ou na saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” é igual (==)/ maior (>)/ menor (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição estabelecida é: $SearchAuto == "". Ou seja, se o valor estiver vazio, então a saída é “Sim”.

  1. Bloco “Salvar documento” permite salvar o documento Excel. Para este bloco, as seguintes propriedades são especificadas:
  • Link para o Excel (link para o processo de manipulação do documento Word, o nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o Excel", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
  • Link para o documento (link para o documento que precisa ser salvo. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
  • Caminho para o arquivo (caminho para o documento Excel).
  1. Bloco “Fechar documento” permite fechar o documento Excel. Para este bloco, as seguintes propriedades são especificadas:
  • Link para o Excel (link para o processo de manipulação do documento Excel. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o Excel", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
  • Link para o documento (link para o documento que precisa ser fechado. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento).
  1. Bloco “Fechar documento” permite fechar o documento Excel. Para este bloco, as seguintes propriedades são especificadas:
  • Link para o Excel (link para o processo de manipulação do documento Excel. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o Excel", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
  • Link para o documento (link para o documento que precisa ser fechado. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento).
  1. Bloco “Limpar cache de seletores” permite limpar o cache interno dos seletores. Ao usar seletores para acelerar a busca de elementos na página, um cache interno é utilizado. Informações sobre o elemento são armazenadas no cache após sua identificação bem-sucedida, e nas buscas subsequentes, o cache é verificado primeiro. Se houver informações no cache para o seletor em questão, elas são extraídas, o que acelera significativamente o funcionamento do robô. No entanto, em alguns casos, esse cache pode impactar negativamente o funcionamento do script. Isso é frequentemente observado durante o processamento cíclico de elementos semelhantes em uma única página, como resultados de busca. Nesses casos, recomendamos limpar o cache ao iniciar cada iteração de processamento de elementos semelhantes na página.
  1. Bloco “Log” permite registrar mensagens arbitrárias e/ou valores de variáveis no log durante a execução do script do robô. Para este bloco, a propriedade “Valor” é especificada. Entre aspas, uma constante de texto é indicada, e o nome da variável começa com o símbolo $. Ou seja, este bloco registra no log do robô uma mensagem sobre o que foi lido do arquivo Excel em cada iteração.
  1. Bloco “Processo” permite criar scripts compostos por vários diagramas. A execução do script continuará a partir do bloco “Início” do diagrama do projeto especificado. A execução do script retornará ao bloco atual e continuará no diagrama atual assim que o bloco “Fim” no diagrama externo for alcançado. Para o bloco “Processo”, a propriedade “Nome do diagrama” é especificada (o nome do arquivo do diagrama onde a execução do script continuará).
  1. Bloco “Atribuir valor à variável” estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades, são especificados dois valores que devem ser atribuídos a duas variáveis, respectivamente.
  1. Bloco “Fim” (este bloco finaliza a execução do script ou retorna o diagrama do subprocesso ao processo principal).

Diagrama “AutoGetData”


  1. Bloco “Início” (a partir deste bloco, qualquer diagrama começa).
  2. Bloco “Clique com o mouse” permite emular um clique no elemento do aplicativo especificado pelo seletor. Para este bloco, as seguintes propriedades são especificadas:
  • Seletor (identificador do elemento da interface do usuário);
  • Ação (seleção da ação, neste caso, clique com o botão esquerdo do mouse);
  • ID do processo (variável que armazena o identificador do processo. Indica com qual aplicativo deve-se trabalhar);
  • Rolagem automática (a flag definida ativa a função de rolagem automática da lista até o elemento que está fora da área visível).
  1. Bloco “Gravar valor na célula” permite gravar um valor na célula de um documento Excel. Para este bloco, as seguintes propriedades são especificadas:
  • Referência ao documento (link para o documento com o qual está sendo trabalhado no momento. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Referência ao documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
  • Planilha (número sequencial da planilha onde a célula desejada está localizada. A numeração começa em 1);
  • Linha (número da linha onde a célula desejada está localizada. A numeração começa em 1);
  • Coluna (número da coluna onde a célula desejada está localizada. A numeração começa em 1);
  • Valor (variável que deve ser gravada na célula desejada).
  1. Bloco “Atribuir valor à variável” estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades, são especificados três valores que devem ser atribuídos a três variáveis, respectivamente.
  1. Bloco “Clique com o mouse” permite emular um clique no elemento do aplicativo especificado pelo seletor. Para este bloco, as seguintes propriedades são especificadas:
  • Seletor (identificador do elemento da interface do usuário);
  • Ação (seleção da ação, neste caso, clique com o botão esquerdo do mouse);
  • ID do processo (variável que armazena o identificador do processo. Indica com qual aplicativo deve-se trabalhar);
  • Rolagem automática (a flag definida ativa a função de rolagem automática da lista até o elemento que está fora da área visível).
  1. Bloco “Pressionar teclas” permite emular a pressão de teclas no teclado. Para este bloco, as seguintes propriedades são especificadas:
  • Teclas (texto ou teclas que devem ser emuladas, esta propriedade é definida por uma variável);
  • ID do processo (variável que armazena o identificador do processo e da aba do navegador utilizados por este bloco);
  • Interativo (com a flag definida, pausas serão inseridas entre as pressões das teclas);
  • Tempo de pausa (pausa entre as pressões das teclas em milissegundos);
  • Selecionar tudo (com a flag definida, antes do início da entrada, é enviado o atalho "Selecionar tudo" (Ctrl+A)).
  1. Bloco “Pausa” permite pausar a execução do script por um tempo determinado. Para este bloco, as seguintes propriedades são especificadas:
  • Unidade de medida (unidade de medida na qual a duração da pausa é especificada. Neste caso, segundos);
  • Duração (valor do intervalo de tempo em unidades de medida pelo qual a execução do script será pausada);
  • Iniciar imediatamente (com a flag ativada, a pausa será aplicada imediatamente na primeira passagem deste bloco a partir do início do script do robô).
  1. Bloco “Pressionar teclas” permite emular a pressão de teclas no teclado. Para este bloco, as seguintes propriedades são especificadas:
  • Teclas (texto ou teclas que devem ser emuladas, esta propriedade é especificada por uma variável);
  • ID do processo (variável que armazena o identificador do processo e da aba do navegador utilizados por este bloco).
  1. Bloco “Pausa” permite pausar a execução do script por um tempo determinado. Para este bloco, as seguintes propriedades são especificadas:
  • Unidade de medida (unidade de medida na qual a duração da pausa é especificada. Neste caso, segundos);
  • Duração (valor do intervalo de tempo em unidades de medida pelo qual a execução do script será pausada);
  • Iniciar imediatamente (com a flag ativada, a pausa será aplicada imediatamente na primeira passagem deste bloco a partir do início do script do robô).
  1. Bloco “Extrair dados” permite extrair dados estruturados homogêneos de páginas da web (resultados de busca, elementos de menu, listas, tabelas, etc.) e colocá-los em uma variável na forma de Tabela de Dados. Para este bloco, as seguintes propriedades são especificadas:
  • Seletor (identificador da janela do navegador e do elemento da página da web, ou um conjunto de elementos homogêneos (títulos, links, blocos de texto, etc.) que devem ser extraídos);
  • ID do processo (variável que armazena o identificador do processo e da aba do navegador utilizados por este bloco).
  1. Bloco “Log” permite registrar mensagens e/ou valores de variáveis no log durante a execução do script do robô. Para este bloco, a propriedade “Valor” é especificada. Entre aspas, uma constante de texto é indicada, e o nome da variável começa com o símbolo $. Ou seja, este bloco registra no log do robô uma mensagem no formato “Página 1. Quantidade 55” e exibe no status (na parte superior da tela) o texto dessa mensagem.
  1. Bloco “Ciclo para cada (Tabela de Dados)” itera ciclicamente por todas as linhas da tabela de dados.
  1. Bloco “Atribuir valor à variável” define novos valores para uma ou mais variáveis. Neste caso, uma propriedade especifica um valor que deve ser atribuído a uma variável específica.
  1. Bloco “Condição” verifica a veracidade da condição especificada, após a qual a execução do script continua na saída “Sim” (se a condição for atendida) ou na saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” é igual (==)/ maior (>)/ menor (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – a saída é “Não”. Neste caso, a condição estabelecida é: $IndexPage < 5. Ou seja, o valor da variável $IndexPage deve ser menor que 5.

  1. Bloco “Clique com o mouse” permite emular um clique no elemento do aplicativo especificado pelo seletor. Para este bloco, as seguintes propriedades são especificadas:
  • Seletor (identificador do elemento da interface do usuário);
  • Ação (seleção da ação, neste caso, clique com o botão esquerdo do mouse);
  • ID do processo (variável que armazena o identificador do processo. Indica com qual aplicativo deve-se trabalhar);
  • Rolagem automática (a flag ativada habilita a função de rolagem automática da lista até o elemento que está fora da área visível).
  1. Bloco “Condição” verifica a veracidade da condição especificada, após a qual a execução do script continua na saída “Sim” (se a condição for atendida) ou na saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” é igual (==)/ maior (>)/ menor (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – a saída é “Não”. Neste caso, a condição estabelecida é: $RowSalon[0] == $OurSalon. Ou seja, se o valor da célula 0 na linha for igual ao valor da variável.

  1. Bloco “Gravar valor na célula” permite gravar um valor na célula de um documento Excel. Para este bloco, as seguintes propriedades são especificadas:* Link para o documento (link para o documento com o qual está sendo trabalhado no momento. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
  • Planilha (número da planilha onde está localizada a célula desejada. A numeração começa em 1);
  • Linha (número da linha onde está localizada a célula desejada. A numeração começa em 1);
  • Coluna (número da coluna onde está localizada a célula desejada. A numeração começa em 1);
  • Valor (variável que deve ser gravada na célula desejada).
  1. Bloco “Gravar valor na célula” permite gravar um valor na célula do documento Excel. Para este bloco, as seguintes propriedades são especificadas:
  • Link para o documento (link para o documento com o qual está sendo trabalhado no momento. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
  • Planilha (número da planilha onde está localizada a célula desejada. A numeração começa em 1);
  • Linha (número da linha onde está localizada a célula desejada. A numeração começa em 1);
  • Coluna (número da coluna onde está localizada a célula desejada. A numeração começa em 1);
  • Valor (variável que deve ser gravada na célula desejada).
  1. Bloco “Atribuir valor à variável” estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades, é especificado um valor que deve ser atribuído a uma variável específica.
  1. Bloco “Gravar valor na célula” permite gravar um valor na célula do documento Excel. Para este bloco, as seguintes propriedades são especificadas:
  • Link para o documento (link para o documento com o qual está sendo trabalhado no momento. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
  • Planilha (número da planilha onde está localizada a célula desejada. A numeração começa em 1);
  • Linha (número da linha onde está localizada a célula desejada. A numeração começa em 1);
  • Coluna (número da coluna onde está localizada a célula desejada. A numeração começa em 1);
  • Valor (variável que deve ser gravada na célula desejada).
  1. Bloco “Gravar valor na célula” permite gravar um valor na célula do documento Excel. Para este bloco, as seguintes propriedades são especificadas:
  • Link para o documento (link para o documento com o qual está sendo trabalhado no momento. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
  • Planilha (número da planilha onde está localizada a célula desejada. A numeração começa em 1);
  • Linha (número da linha onde está localizada a célula desejada. A numeração começa em 1);
  • Coluna (número da coluna onde está localizada a célula desejada. A numeração começa em 1);
  • Valor (variável que deve ser gravada na célula desejada).
  1. Bloco “Gravar valor na célula” permite gravar um valor na célula do documento Excel. Para este bloco, as seguintes propriedades são especificadas:
  • Link para o documento (link para o documento com o qual está sendo trabalhado no momento. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
  • Planilha (número da planilha onde está localizada a célula desejada. A numeração começa em 1);
  • Linha (número da linha onde está localizada a célula desejada. A numeração começa em 1);
  • Coluna (número da coluna onde está localizada a célula desejada. A numeração começa em 1);
  • Valor (variável que deve ser gravada na célula desejada).
  1. Bloco “Atribuir valor à variável” estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades, é especificado um valor que deve ser atribuído a uma variável específica.
  1. Bloco “Fim” (este bloco encerra a execução do script ou retorna o diagrama do subprocesso ao processo principal).