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):
- Bloco “Início” (a partir deste bloco começa qualquer diagrama).
- 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).
- 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).
- 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).
- 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).
- 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).
- 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”.
- 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).
- 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).
- 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).
- 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.
- 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.
- 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á).
- 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.
- Bloco “Fim” (este bloco finaliza a execução do script ou retorna o diagrama do subprocesso ao processo principal).
Diagrama “AutoGetData”
- Bloco “Início” (a partir deste bloco, qualquer diagrama começa).
- 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).
- 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).
- 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.
- 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).
- 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)).
- 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ô).
- 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).
- 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ô).
- 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).
- 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.
- Bloco “Ciclo para cada (Tabela de Dados)” itera ciclicamente por todas as linhas da tabela de dados.
- 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.
- 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.
- 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).
- 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.
- 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).
- 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).
- 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.
- 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).
- 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).
- 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).
- 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.
- Bloco “Fim” (este bloco encerra a execução do script ou retorna o diagrama do subprocesso ao processo principal).