FAQ – Automação com UiPath – Duvidas e Respostas

    I. Introdução e Conceitos Básicos

    1. O que é UiPath?
      • UiPath é uma plataforma líder em Automação Robótica de Processos (RPA) que permite automatizar tarefas repetitivas em computadores, interagindo com aplicativos, sites, planilhas, e-mails, etc.
    2. O que é RPA?
      • RPA (Robotic Process Automation) significa Automação Robótica de Processos. São “robôs” de software que imitam ações humanas em computadores para realizar tarefas repetitivas, liberando humanos para trabalhos mais estratégicos.
    3. Onde posso aprender UiPath?
      • Canal do YouTube do Simão Pedro Da Silva: Possui vários vídeos e tutoriais em português.
      • UiPath Academy: Site oficial da UiPath, com cursos e treinamentos (muitos em inglês).
      • Comunidade Hiperautomação: Plataforma com cursos, incluindo um curso desenvolvido pelo Simão Pedro Da Silva.
      • Desafiosrpa.com.br: Site com recursos, como por exemplo, desafios.
    4. O que é o “UiExplorer”?
      • Uma ferramenta dentro do UiPath Studio que permite inspecionar detalhadamente a interface de usuário de um aplicativo ou página web. Mostra a estrutura hierárquica dos elementos e permite gerar seletores precisos para interagir com eles.
    5. O que é o “Orchestrator”?
      • Uma plataforma web centralizada para gerenciar, controlar e monitorar robôs UiPath. Permite agendamento, gerenciamento de robôs, filas de itens de trabalho, armazenamento seguro de credenciais (Assets), logs e gerenciamento de pacotes.
    6. O que é o REFramework?
      • REFramework (Robotic Enterprise Framework) é um template de projeto fornecido pela UiPath. É uma estrutura robusta e escalável para construir robôs, especialmente para processos transacionais. Lida com tratamento de erros, retentativas, logging e outras boas práticas.
    7. O que é a “Modern Design Experience” no UiPath?
      • Um conjunto de recursos e atividades mais recentes no UiPath Studio, projetados para simplificar a criação e aumentar a robustez das automações. Inclui novas atividades (como “Use Application/Browser”), o “Object Repository” (para gerenciar elementos da UI) e melhorias nos seletores.

    II. Instalação, Configuração e Licenciamento

    1. Como configuro o UiPath Assistant para se conectar ao Orchestrator?
      • Abra o UiPath Assistant.
      • Vá para as configurações (ícone de engrenagem ou menu).
      • Procure por “Orchestrator Settings”.
      • Insira a URL do seu Orchestrator e a Chave da Máquina (Machine Key). A Chave da Máquina é obtida no Orchestrator, na página de configuração da sua máquina.
      • O status deve mudar para “Connected, Licensed”.
    2. Qual versão do UiPath devo usar?
      • Community Edition: Gratuita para uso individual, educacional e para pequenas empresas (com limitações de faturamento e número de máquinas/usuários).
      • Studio Pro: Versão paga, com mais recursos, voltado para uso empresarial.
      • Enterprise: Versão paga, completa.
    3. O UiPath Community Edition pode ser usado por empresas?
      • Sim, mas com restrições. A Community Edition é gratuita para uso individual, educacional e para pequenas empresas (com menos de 250 máquinas ou menos de US$5 milhões em faturamento anual).
    4. Onde encontro a opção para alternar entre “Modern Design Experience” e “Classic”?
      • Versões mais antigas: “Home” (Início) -> “Settings” (Configurações) -> “Design” -> “New Projects” (Novos Projetos) -> “Use Modern for new projects”.
      • Versões mais recentes: Dentro de um projeto, clique no ícone de engrenagem na aba “Design” e, em seguida, em “Configurações do Projeto”.
    5. Como publico um projeto no Orchestrator?
      • No UiPath Studio, clique no botão “Publish” (Publicar).
      • Escolha “Orchestrator” como o destino.
      • Seu UiPath Robot/Assistant deve estar conectado ao Orchestrator.
      • Você precisa de permissões para publicar.
      • Importante: Não publique um projeto que foi salvo como “Template”. Crie um novo projeto a partir do template e publique o projeto.
    6. Como resolvo o erro “Robot does not exist” (O robô não existe)?
      • Verifique no Orchestrator se um robô foi criado e atribuido a máquina host.
    7. Como resolvo o erro “Não é possível se comunicar com o navegador” ou “Cannot communicate with the browser”?
      • Extensão do Navegador: Verifique se a extensão do UiPath para o seu navegador (Chrome, Firefox, Edge, etc.) está instalada e ativada.
      • Reinicie: Reinicie o navegador e/ou o UiPath Studio.
      • Reinstale: Reinstale a extensão do navegador, se necessário.
      • Versões: Verifique se as versões do UiPath Studio, do navegador e da extensão são compatíveis.
      • Firewall/Proxy: Verifique se configurações de firewall ou proxy estão bloqueando a comunicação.
      • Executar como Administrador: Tente executar o UiPath Studio como administrador (clique com o botão direito -> Executar como administrador).
      • Verificar Seletor: Certifique-se de que o seletor do navegador está correto.
    8. Como resolvo o erro “An extension you are using is not working properly”?
      Reinstale a extensão do navegador.
    9. Como resolvo o erro “Excel Application Scope: Error opening workbook. If Excel is installed, run the ‘Repair Tool for Microsoft Office Interop’ in the Tools tab on the Start screen.”?
    • Repare o pacote do excel.
    • Reinstale o uipath.

    III. Atividades e Automação: Conceitos Gerais

    1. Como faço para o robô repetir uma sequência de ações?
      • Loops:
        • For Each: Itera sobre itens de uma lista, array, DataTable, etc.
        • For Each Row in Data Table: Itera sobre as linhas de um DataTable.
        • Do While: Repete as ações enquanto uma condição for verdadeira. A condição é verificada no início de cada iteração.
        • While: Semelhante ao “Do While”, mas a condição é verificada no final de cada iteração (garante que o bloco seja executado pelo menos uma vez).
    2. Como faço um loop que execute um número específico de vezes?
      • Use um loop “While” ou “Do While” com uma variável contadora. Inicialize a variável (ex: contador = 1). Dentro do loop, incremente o contador (contador = contador + 1). Na condição do loop, verifique se o contador atingiu o número desejado (ex: contador <= 20).
    3. Como faço para o robô esperar um tempo determinado?
      • Use a atividade “Delay”. Você pode especificar o tempo em segundos, milissegundos, ou usar um formato como 00:00:10 (10 segundos).
    4. Como faço para o robô esperar até que um elemento apareça na tela?
      • Element Exists: Verifica se um elemento está presente (retorna True ou False). Use em um loop para verificar repetidamente.
      • Find Element: Tenta encontrar um elemento. Se não encontrar dentro do tempo limite (Timeout), lança um erro.
      • On Element Appear: Executa uma sequência quando um elemento aparece.
      • Wait Element Vanish Aguarda um elemento desaparecer.
    5. Como faço para o robô esperar até que um elemento desapareça da tela?
      • Use a atividade “Wait Element Vanish” (Aguardar Elemento Desaparecer). Indique o elemento que você quer que desapareça.
    6. O que é e como usar um “seletor” (selector) no UiPath?
      • Um seletor é uma string que identifica um elemento da interface do usuário (UI). É como um “endereço” do elemento.
      • O UiPath tenta gerar seletores automaticamente, mas nem sempre eles são confiáveis.
      • Use o UiExplorer para inspecionar os elementos e criar/editar seletores.
      • Seletores Dinâmicos: Use variáveis e curingas (*, ?) para tornar os seletores flexíveis (por exemplo, para lidar com números de linha que mudam, títulos de janela que variam, etc.). Exemplo: <wnd app=’chrome.exe’ title=’Página – *’ />
      • Atributos: Use atributos como aaname (nome acessível), text (texto do elemento), id, class, tag, parentid, tableRow, tableCol, etc., para identificar os elementos.
    7. Como usar variáveis em seletores?
      • Concatene a variável com a string do seletor. Exemplo: “<webctrl tag=’A’ aaname='” + nomeVariavel + “‘ />”
    8. Como posso fazer o robô clicar em um botão ou outro elemento da interface?
      • Use a atividade “Click”. Indique o elemento usando um seletor.
      • Opções:
        • SimulateClick: Simula um clique do mouse (mais rápido, mas nem sempre funciona).
        • SendWindowMessages: Envia mensagens do Windows para o elemento (outra alternativa).
        • Click Image: Clica em uma imagem específica (menos confiável se a aparência mudar).
    9. Como posso fazer o robô digitar texto em um campo?
      • Use a atividade “Type Into”.
      • Indique o campo usando um seletor.
      • Especifique o texto a ser digitado.
      • SimulateType: Tenta digitar mais rápido (mas nem sempre funciona).
      • EmptyField: Limpa o campo antes de digitar.
    10. Como posso fazer o robô extrair texto de um elemento da tela?
          *   Use a atividade "Get Text".  Indique o elemento e salve o resultado em uma variável.
        
    1. Como posso copiar e colar texto (usando a área de transferência)?
      • Copiar: Use “Set to Clipboard” (para texto) ou “Get Text” (para extrair de um elemento) e depois use o “set to clipboard”.
      • Colar: Use “Get from Clipboard” para obter o texto e depois use “Type Into” para colar. Ou use “Send Hotkey” com Ctrl+V.
    2. Como posso usar atalhos de teclado (como Ctrl+C, Ctrl+V, Enter, Tab)?
      • Use a atividade “Send Hotkey”.
    3. O que é e como usar o “Anchor Base”?
      • É uma atividade que ajuda a localizar elementos que não têm seletores confiáveis.
      • Você define um “Anchor” (Âncora), que é um elemento próximo e estável.
      • O UiPath encontra o elemento desejado em relação à âncora.
      • Útil quando a posição dos elementos muda.
    4. O que é e como usar “Find Children”?
      • Localiza todos os elementos filhos (sub-elementos) de um elemento pai, correspondentes a um filtro específico.
      • Útil para iterar sobre elementos de uma lista, tabela, etc., quando a estrutura da página é dinâmica.
    5. Como lidar com pop-ups ou janelas de diálogo?
          *   Use "Element Exists" para verificar se a janela apareceu.
    *   Use "Attach Window" para focar o robô na janela pop-up.
    *   Use as atividades de interação (Click, Type Into, etc.) dentro do escopo do "Attach Window".
        

    1. Como lidar com erros e exceções?
          *   **Try Catch:**  Coloque as atividades que podem gerar erros dentro do bloco "Try".  No bloco "Catch", você pode tratar o erro.  O bloco "Finally" é opcional e sempre será executado.
    *   **ContinueOnError:**  Em algumas atividades, você pode definir essa propriedade como "True" para que o robô continue mesmo se a atividade falhar (use com cuidado).
    * **Rethrow:**  Use para relançar a exceção atual, permitindo que um bloco "Try Catch" de nível superior a trate.
    * **Throw:**  Use para lançar uma nova exceção.
        

    IV. Trabalhando com Dados (Strings, Números, Datas, DataTables)

    1. Como converter uma string para um número inteiro (int)?
          *   `CInt(suaString)`  (ex: `CInt("123")`)
    *   `Integer.Parse(suaString)`
    *   `Int32.TryParse(suaString, variavelInteira)` (mais seguro)
        

    1. Como converter uma string para um número decimal (double)?
          *   `CDbl(suaString)`
    *   `Double.Parse(suaString)`
    *   `Double.TryParse(suaString, variavelDouble)`
        

    1. Como dividir uma string em partes (split)?
          *   `minhaString.Split(" "c)`  (divide a string usando o espaço como separador)
        

    1. Como remover espaços em branco do início e do fim de uma string?
          *   `.Trim()` (remove de ambos os lados)
    *   `.TrimStart()` (remove do início)
    *   `.TrimEnd()` (remove do final)
        

    1. Como converter texto para maiúsculas ou minúsculas?
          *   **Maiúsculas:** `minhaString.ToUpper()`
    *   **Minúsculas:** `minhaString.ToLower()`
        

    1. Como remover acentos e caracteres especiais de uma string?
      • System.Text.Encoding.GetEncoding(“ISO-8859-8”).GetBytes(StringComAcento)
    2. Como obter a data e hora atuais?
      • Now (retorna data e hora)
      • Now.Date (retorna apenas a data)
      • Now.ToString(“dd/MM/yyyy”) (formata a data)
      • Now.ToString(“HH:mm:ss”) (formata a hora)
      • Now.Month (retorna o mês)
      • Now.AddDays(1) (retorna o dia seguinte)
      • Entre outras.
    3. Como obter o primeiro dia do mês atual?
      • New DateTime(Now.Year, Now.Month, 1)
    4. Como concatenar (juntar) strings?
      • Use o operador +. Exemplo: “Texto 1″ + ” ” + “Texto 2”
      • Use String.Format.
    5. Como fazer uma quebra de linha em uma string?
          *   Use `Environment.NewLine`.
        

    1. O que é um DataTable?
      • Um DataTable é um objeto que representa uma tabela de dados em memória (linhas e colunas). É usado para armazenar dados extraídos de planilhas, bancos de dados, sites, etc.
    2. Como criar um DataTable?
          *   Use a atividade "Build Data Table".
    *   Você pode também criar um datatable em branco e ir adicionando linhas.
        

    1. Como adicionar uma linha a um DataTable?
      • Use a atividade “Add Data Row”.
    2. Como obter o número de linhas em um DataTable?
          *   `meuDataTable.Rows.Count`
        

    1. Como acessar o valor de uma célula em um DataTable?
          *   `meuDataTable.Rows(indiceLinha).Item("NomeDaColuna").ToString()`
    *   `meuDataTable.Rows(indiceLinha)(indiceColuna).ToString()`
        

    1. Como iterar sobre as linhas de um DataTable?
      • Use a atividade “For Each Row in Data Table”.
    2. Como filtrar um DataTable?
      • Use DataTable.Select(). Exemplo: meuDataTable.Select(“Coluna1 = ‘Valor’ AND Coluna2 > 10”)
      • Use LINQ: meuDataTable.AsEnumerable().Where(Function(row) row(“Coluna1”).ToString() = “Valor”).CopyToDataTable().
      • Use o Filter data table.
    3. Como agrupar e agregar dados em um DataTable (como no Excel)?
      Use Group by.

    V. Trabalhando com Arquivos e Pastas

    1. Como obter o caminho completo de um arquivo que foi baixado recentemente?
      Use: Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + “\Downloads”).OrderByDescending(Function(d) New FileInfo(d).CreationTime).First().
    2. Como obter uma lista de todos os arquivos em uma pasta?
          *   Use `Directory.GetFiles("CaminhoDaPasta")`.
        

    1. Como renomear um arquivo?
          *   Use a atividade "Move File" (Mover Arquivo).  Se você especificar um novo nome no caminho de destino, o arquivo será renomeado.
        

    1. Como criar uma pasta?
          *   Use a atividade "Create Directory" (Criar Diretório).
        

    1. Como verificar se um arquivo ou pasta existe?
          *   Use `File.Exists("CaminhoDoArquivo")` ou `Directory.Exists("CaminhoDaPasta")`.
        

    VI. Integração com Outras Aplicações

    1. Como interagir com o Microsoft Outlook?
      • Use as atividades do pacote “UiPath.Mail.Activities” (por exemplo, “Send Outlook Mail Message”, “Get Outlook Mail Messages”).
    2. Como interagir com o Google Workspace (Gmail, Sheets, Drive)?
      • Use o pacote “UiPath.GSuite.Activities”. Você precisará configurar as credenciais de acesso.
    3. Como interagir com o SAP?
      • Use as atividades específicas para SAP (UiPath tem integração nativa com o SAP).
    4. Como interagir com o Salesforce?
      • Use o pacote “UiPath.Salesforce.Activities”.
    5. Como interagir com APIs (REST/SOAP)?
      • Use a atividade “HTTP Request”.
      • Para APIs REST, você geralmente usará métodos como GET, POST, PUT, DELETE.
      • Para APIs SOAP, você pode precisar usar a atividade “SOAP Request”.
    6. Como integrar com o Microsoft Power Automate?
      • Você pode usar o “Start Process” do UiPath para iniciar um fluxo do Power Automate.

    VII. Outros

    1. O que é a “senha de aplicativo” do Google e como usá-la?
      • O Google não recomenda mais o uso de senhas de aplicativo para aplicativos menos seguros. Em vez disso, use a autenticação OAuth 2.0. A senha de aplicativo era uma senha gerada especificamente para um aplicativo, que podia ser usada em vez da sua senha principal do Google. Era menos seguro do que usar o OAuth 2.0.
    2. O que é OCR?
      • OCR (Optical Character Recognition) é uma tecnologia que converte imagens de texto (como digitalizações ou fotos de documentos) em texto editável.
      • O UiPath tem atividades de OCR (como “Read PDF with OCR”) e integrações com mecanismos OCR como Tesseract OCR (gratuito) e Google Cloud Vision OCR (pago).
    3. O que é um “gatilho” (trigger) no Orchestrator?
      • Um gatilho é uma condição que inicia a execução de um robô. Pode ser um gatilho de tempo (por exemplo, executar o robô todos os dias às 8h), um gatilho de fila (executar o robô quando um novo item é adicionado a uma fila), ou outros tipos de gatilhos.
    4. O que é um “ativo” (asset) no Orchestrator?
      • Um ativo é um item de informação armazenado no Orchestrator, como credenciais, configurações, ou outros dados que podem ser usados por vários robôs. É uma forma segura de armazenar informações sensíveis.
    5. Como posso fazer o UiPath “clicar” em um elemento específico dentro de uma lista de elementos semelhantes em uma página web?
    • Usando o UiExplorer:
    • Abra o UiExplorer e inspecione os elementos da lista.
    • Identifique um atributo que seja único para cada elemento da lista (por exemplo, um id, aaname, text, ou uma combinação de atributos).
    • Se o atributo único incluir um número sequencial (ex: item1, item2, item3), você pode usar uma variável para tornar o seletor dinâmico.
    • Se não houver um atributo único óbvio, você pode precisar usar uma combinação de:
      • “Find Children” (Encontrar Filhos): Para obter uma coleção de todos os elementos filhos de um elemento pai comum.
      • “For Each” (Para Cada): Para iterar sobre a coleção de elementos filhos.
      • “Get Attribute” (Obter Atributo): Dentro do loop, use “Get Attribute” para extrair um atributo de cada elemento (por exemplo, o texto) e compará-lo com o valor que você deseja.
      • “Click” (Clicar): Quando você encontrar o elemento correto (com base no atributo), use a atividade “Click” para clicar nele.
    • Se o site usar frameworks JavaScript como Angular ou React, os seletores podem ser mais complexos. Pode ser necessário usar técnicas mais avançadas, como:
      * Injeção de JavaScript: Usar a atividade “Inject Js Script” para executar código JavaScript dentro da página e interagir diretamente com os elementos.
      * Bibliotecas de terceiros: Usar bibliotecas como o Selenium WebDriver (através de atividades personalizadas ou chamadas de código) para ter mais controle sobre o navegador.
      * Tentar usar atividades mais genéricas: “Click Text” (Clicar em Texto), “Click Image” (Clicar em Imagem). Essas atividades são menos confiáveis, mas podem funcionar em alguns casos.
    • **Se nada disso funcionar, como último recurso, use posições relativas do mouse e clicks, ou use atividades que interagem por meio de envio de mensagens.
    1. Existe alguma extensão que me auxilie com o CAPTCHA?
      Sim, uma extensão é o Buster: Captcha Solver for Humans.
    2. O UiPath é compativel com o Windows 7?
      Sim.
    3. Como faço para que a URL seja aberta em um browser específico?
      Dentro do Open Browser/Use aplication, em propriedades na opção “Tipo de Navegador” altere para o browser de sua preferência.
    4. Como faço para o robô escrever em um arquivo de texto?
      Use a atividade “Write Text File”.
    5. O que fazer se o robô não consegue identificar o campo correto por causa de um elemento instável (ex: um popup)?
      Use a atividade “Anchor Base”.
    6. Como posso realizar a leitura de dados de uma coluna da planilha?
      Você pode utilizar a atividade “Read Column”.

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *