- Visão geral
- Automação de Interface Gráfica
- Sobre o pacote de atividades UIAutomation
- Aplicativos e tecnologias automatizados com a Automação de Interface Gráfica
- Compatibilidade do projeto
- UI-ANA-016 - Extrair URL de navegador aberto
- UI-ANA-017 - ContinuarComErro verdadeiro
- UI-ANA-018 - Listar atividades de OCR/Imagem
- UI-DBP-006 - Uso do contêiner
- UI-DBP-013 - Uso Incorreto da Automação do Excel
- UI-DBP-030 - Uso de variáveis proibidas em seletores
- UI-DBP-031 - Verificação de atividades
- UI-PRR-001 - Simular clique
- UI-PRR-002 - Simular Digitação
- UI-PRR-003 - Uso incorreto do aplicativo aberto
- UI-PRR-004 - Atrasos Embutidos em Código
- UI-REL-001 - Idx grande em Seletores
- UI-SEC-004 - Dados de e-mail do seletor
- UI-SEC-010 — restrições de app/URL
- UI-USG-011 - Atributos não permitidos
- UX-SEC-010 — restrições de app/URL
- UX-DBP-029 - Uso de senha não segura
- UI-PST-001 - Nível de log de auditoria nas configurações do projeto
- Ferramenta de Migração de Navegador do UiPath
- Região do Recorte
- Computer Vision Recorder
- Índice de atividades
- Ativar
- Anchor Base
- Anexar Navegador
- Anexar Janela
- Block User Input
- Texto Explicativo
- Marcar
- Click
- Clicar na Imagem
- Click Image Trigger
- Click OCR Text
- Clicar no Texto
- Click Trigger
- Close Application
- Fechar Guia
- Close Window
- Context Aware Anchor
- Copy Selected Text
- Element Attribute Change Trigger
- Element Exists
- Element Scope
- Element State Change Trigger
- Export UI Tree
- Extrair Dados Estruturados
- Find Children
- Localizar Elemento
- Localizar Imagem
- Find Image Matches
- Find OCR Text Position
- Localizar Elemento Relativo
- Find Text Position
- Get Active Window
- Get Ancestor
- Get Attribute
- Get Event Info
- Get From Clipboard
- Obter Texto Completo
- Get OCR Text
- Get Password
- Get Position
- Get Source Element
- Get Text
- Obter Texto Visível
- Voltar
- Avançar
- Ir para a Página Inicial
- Google Cloud Vision OCR
- Hide Window
- Highlight
- Hotkey Trigger
- Hover
- Focalizar Imagem
- Hover OCR Text
- Focalizar Texto
- Imagem Existe
- Indicate On Screen
- Inject .NET Code
- Inject Js Script
- Invoke ActiveX Method
- Key Press Trigger
- Carregar Imagem
- Maximize Window
- Microsoft Azure Computer Vision OCR
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- Minimize Window
- Monitorar eventos
- Mouse Trigger
- Move Window
- Navegar Para
- OCR Text Exists
- On Element Appear
- On Element Vanish
- Aparecer Na Imagem
- Desaparecer Na Imagem
- Abrir Aplicativo
- Abrir Navegador
- Atualizar Navegador
- Replay User Event
- Restore Window
- Save Image
- Select Item
- Select Multiple Items
- Enviar Tecla de Acesso
- Set Clipping Region
- Set Focus
- Set Text
- Set To Clipboard
- Set Web Attribute
- Show Window
- Iniciar Processo
- System Trigger
- Take Screenshot
- Tesseract OCR
- Texto Existe
- Dica de ferramenta
- Type Into
- Digitar Texto Seguro
- Use Foreground
- Wait Attribute
- Esperar Elemento Desaparecer
- Aguardar Imagem Desaparecer
- Verificação de acessibilidade
- Application event trigger
- Block User Input
- Check/Uncheck
- Check App State
- Check Element
- Click
- Click Event Trigger
- Drag and Drop
- Extract Table Data
- Localizar elementos
- For Each UI Element
- Get Browser Data
- Obter Área de Transferência
- Get Text
- Get URL
- Go To URL
- Highlight
- Hover
- Inject Js Script
- Keyboard Shortcuts
- Keypress Event Trigger
- Mouse Scroll
- Navigate Browser
- Select Item
- Set Browser Data
- Definir Área de Transferência
- Set Runtime Browser
- Set Focus
- Set Text
- Take Screenshot
- Type Into
- Unblock User Input
- Use Application/Browser
- Window operation
- Realize pesquisa no navegador e recupere resultados usando APIs de Automação de interface gráfica
- Navegação na Web
- Localizar imagens
- Clicar em imagens
- Disparar e monitorar eventos
- Criar e substituir arquivos
- Páginas HTML: extrair e manipular informações
- Manipulação de janelas
- Seleção automatizada de listas
- Localizar e manipular elementos de janela
- Gerenciar automação de texto
- Carregar e processar imagens
- Gerenciar ações ativadas pelo mouse
- Automatizar o runtime de aplicativos
- Execução automatizada de um aplicativo local
- Navegação em navegador
- Automação da Web
- Exemplo de escopo de disparador
- Habilitar o suporte de Automação de Interface Gráfica no DevExpress
- Computer Vision Local Server
- Automação Móvel
- Notas de versão
- Sobre a arquitetura de automação de dispositivos móveis
- Compatibilidade do projeto
- Get Log Types
- Get Logs
- Get Page Source
- Get Device Orientation
- Get Session Identifier
- Instalar Aplicativo
- Gerenciar Aplicativo Atual
- Manage Other App
- Open DeepLink
- Abrir URL
- Mobile Device Connection
- Deslizar Direcional
- Padrão de Desenho
- Positional Swipe
- Press Hardware Button
- Set Device Orientation
- Take Screenshot
- Obter parte da captura de tela
- Element Exists
- Execute Command
- Get Attribute
- Get Selected Item
- Get Text
- Set Selected Item
- Set Text
- Deslizar
- Tap
- Type Text
- Terminal
- Notas de versão
- Sobre o pacote de atividades Terminal
- Compatibilidade do projeto
- Melhores práticas
- Find Text
- Get Color At Position
- Get Cursor Position
- Get Field
- Obter Campo na Posição
- Obter Área da Tela
- Get Text
- Obter Texto na Posição
- Mover Cursor
- Mover cursor para o texto
- Enviar Tecla de Controle
- Send Keys
- Send Keys Secure
- Set Field
- Definir Campo na Posição
- Terminal Session
- Aguardar Texto do Campo
- Wait Screen Ready
- Aguardar Texto da Tela
- Aguardar Texto na Posição

Atividades do UIAutomation
Sobre seletores
Para automatizar ações específicas na interface do usuário, é necessário interagir com diversas janelas, botões, listas suspensas, entre outros. Uma das maneiras em que os elementos de interface gráfica podem ser identificados é usar sua posição na tela, mas isso pode não ser confiável.
Para superar esse problema, o Studio usa o que chamamos de seletores. Eles armazenam os atributos de um elemento da interface gráfica e seus pais, na forma de um fragmento XML.
Na maioria das vezes, os seletores são gerados automaticamente pelo Studio e não requerem mais nenhuma entrada sua, especialmente se os aplicativos que você estiver tentando automatizar tiverem uma interface de usuário estática.
No entanto, alguns softwares possuem layouts que se modificam e atribuem nós com valores voláteis, como alguns aplicativos web. O Studio não pode prever essas alterações e, portanto, você pode ter que gerar manualmente alguns seletores.
Um seletor tem a seguinte estrutura:
<node_1/><node_2/>...<node_N/>
<node_1/><node_2/>...<node_N/>
O último nó representa o elemento GUI que interessa a você e todos os anteriores representam os pais desse elemento. <node_1> geralmente é referido como um nó raiz, e representa a janela superior do aplicativo.
Cada nó contém um ou mais atributos que ajudam a identificar um nível específico do aplicativo selecionado.
Cada nó tem o seguinte formato:
<ui_system attr_name_1='attr_value_1' ... attr_name_N='attr_value_N'/>
<ui_system attr_name_1='attr_value_1' ... attr_name_N='attr_value_N'/>
Cada atributo tem um valor atribuído. É importante escolher atributos com um valor constante. Se o valor de um atributo mudar a cada vez que o aplicativo for iniciado, o seletor não conseguirá identificar corretamente o elemento.
Os seletores são exibidos no painel Propriedades de atividades, em Entrada > Destino > Seletor. Todas as atividades relacionadas aos elementos gráficos têm essa propriedade.

A janela Opções de seleção permite selecionar e editar um destino. Para acessar essa janela, no painel Designer de Fluxo de Trabalho , clique no botão Opções
botão no corpo de uma atividade e selecione Indicar destino na tela ou Editar destino.

A janela Editor de Seletor permite visualizar e editar o seletor gerado automaticamente e seus atributos. Para acessar essa janela, use o botão Reticências próximo ao campo Seletor , no painel Propriedades .

| Opção | Description |
|---|---|
| Validar |
O botão mostra o status do seletor, verificando a validade da definição do seletor e a visibilidade do elemento de destino na tela. O botão Validar possui três estados:
O botão está correlacionado aos estados de validação do UI Explore. |
| Indicar Elemento | Indica um novo elemento da interface gráfica para substituir o anterior. |
| Reparar | Permite que você indique novamente o mesmo elemento de interface gráfica de destino e repare o seletor. Essa operação não substitui completamente o seletor anterior. O botão fica disponível apenas quando o seletor for inválido. |
| Highlight | Traz o elemento de destino para o primeiro plano. O destaque continua até que a opção seja desabilitada com um clique. O botão será habilitado apenas se o seletor for válido. |
| Editar Atributos | Contém todos os componentes da aplicação necessários para identificar a aplicação de destino (uma janela, botão, etc.). Esta seção é editável. |
| Editar Seletor | Contém o seletor real. Esta seção é editável. |
| Abrir no Explorador de Interface Gráfica | Inicia o UI Explorer. A opção fica habilitada apenas para seletores válidos. |
Em algumas situações, quando o Studio e o aplicativo de destino são abertos com diferentes privilégios elevados, o seletor pode não funcionar. Recomendamos sempre abrir os dois aplicativos com os mesmos privilégios.
Tags e atributos compatíveis
As tabelas a seguir apresentam a compatibilidade entre tags e atributos usados para criar seletores e a capacidade do seletor.
No macOS, os tipos de seletor wnd, ax, java e sap podem ser usados para diferentes casos de uso:
-
Os seletores AX estão disponíveis para todos os tipos de aplicativos de desktop macOS.
-
Os seletores SAP estão disponíveis para SAP GUI para Java no macOS e exigem um servidor SAP com scripts habilitados. Esses seletores são os mais estáveis para aplicativos SAP e oferecem a melhor gama de recursos, como extrair dados de tabela.
-
Os seletores Java estão disponíveis para aplicativos Java. Como a GUI do SAP para Java também é um aplicativo baseado em Java, pode-se usar a estratégia de seleção Java para mudar do padrão e obter seletores Java.
Observação:Selectors generated for Java applications which contain multiple WND tags cannot be used with events monitoring.
WND
| Atributo | Fuzzy | RegEx | Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
| app | ✅ | ✅ | ✅ | Windows macOS |
| cls | ✅ | ✅ | ✅ | Windows |
| title | ✅ | ✅ | ✅ | Windows macOS |
| aaname | ✅ | ✅ | ✅ | Windows |
| ctrlname (WinForms) | ✅ | ✅ | ✅ | Windows |
| ctrlid (WinForms) | ✅ | ✅ | ✅ | Windows |
| idx | ❌ | ❌ | ❌ | Windows macOS |
| tid | ❌ | ❌ | ❌ | Windows macOS |
| pid | ❌ | ❌ | ❌ | Windows macOS |
| isremoteapp | ❌ | ❌ | ❌ | Windows |
| aastate | ✅ | ✅ | ✅ | Windows |
| Role | ✅ | ✅ | ✅ | Mac OS |
| enabled | ✅ | ✅ | ✅ | Mac OS |
| focado | ✅ | ✅ | ✅ | Mac OS |
| selecionado(s) | ✅ | ✅ | ✅ | Mac OS |
| Expandido | ✅ | ✅ | ✅ | Mac OS |
| sapClient (SAP) | ✅ | ✅ | ✅ | Windows macOS |
| sapLanguage (SAP) | ✅ | ✅ | ✅ | Windows macOS |
| sapProgram (SAP) | ✅ | ✅ | ✅ | Windows macOS |
| sapScreen (SAP) | ❌ | ❌ | ❌ | Windows macOS |
| sapSession (SAP) | ❌ | ❌ | ❌ | Windows macOS |
| sapSysName (SAP) | ✅ | ✅ | ✅ | Windows macOS |
| sapSysNumber (SAP) | ❌ | ❌ | ❌ | Windows macOS |
| sapSysSessionId (SAP) | ✅ | ✅ | ✅ | Windows macOS |
| sapTransaction (SAP) | ✅ | ✅ | ✅ | Windows macOS |
| sapUser (SAP) | ✅ | ✅ | ✅ | Windows macOS |
| curlApplet (Curl) | ✅ | ✅ | ✅ | Windows |
HTML
| Atributo | Fuzzy | RegEx | Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
| url | ✅ | ✅ | ✅ | Windows macOS Linux |
| htmlwindowname | ✅ | ✅ | ✅ | Windows macOS Linux |
| title | ✅ | ✅ | ✅ | Windows macOS Linux |
| class | ✅ | ✅ | ✅ | Windows macOS Linux |
| app | ❌ | ❌ | ❌ | Windows macOS Linux |
| idx | ❌ | ❌ | ❌ | Windows macOS Linux |
| pid | ❌ | ❌ | ❌ | Windows macOS Linux |
| tid | ❌ | ❌ | ❌ | Windows macOS Linux |
| excludehwnd | ❌ | ❌ | ❌ | Windows macOS Linux |
| bsid (Browser Session ID) | ❌ | ❌ | ❌ | Windows macOS Linux |
| isremoteapp | ❌ | ❌ | ❌ | Windows macOS Linux |
WEBCTRL
Os atributos tag e id usam valores de strings. Todos os outros atributos WEBCTRL têm valores dinâmicos.
| Atributo | Fuzzy | RegEx | Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
| tag | ✅ | ✅ | ✅ | Windows macOS Linux |
| idx | ✅ | ✅ | ✅ | Windows macOS Linux |
| aaname | ✅ | ✅ | ✅ | Windows macOS Linux |
| name | ✅ | ✅ | ✅ | Windows macOS Linux |
| id | ✅ | ✅ | ✅ | Windows macOS Linux |
| parentid | ✅ | ✅ | ✅ | Windows macOS Linux |
| class | ✅ | ✅ | ✅ | Windows macOS Linux |
| css-selector | ❌ | ❌ | ❌ | Windows macOS Linux |
| innertext | ✅ | ✅ | ✅ | Windows macOS Linux |
| visibleinnertext | ✅ | ✅ | ✅ | Windows macOS Linux |
| isleaf | ✅ | ✅ | ✅ | Windows macOS Linux |
| parentclass | ✅ | ✅ | ✅ | Windows macOS Linux |
| parentname | ✅ | ✅ | ✅ | Windows macOS Linux |
| src | ✅ | ✅ | ✅ | Windows macOS Linux |
| href | ✅ | ✅ | ✅ | Windows macOS Linux |
| tableCol | ✅ | ✅ | ✅ | Windows macOS Linux |
| tableRow | ✅ | ✅ | ✅ | Windows macOS Linux |
| colName | ✅ | ✅ | ✅ | Windows macOS Linux |
| rowName | ✅ | ✅ | ✅ | Windows macOS Linux |
| aria-label | ✅ | ✅ | ✅ | Windows macOS Linux |
| aria-labelledby | ✅ | ✅ | ✅ | Windows macOS Linux |
CTRL
| Atributo | Fuzzy | RegEx | Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
| Role | ✅ | ✅ | ✅ | Windows |
| name | ✅ | ✅ | ✅ | Windows |
| automationid | ✅ | ✅ | ✅ | Windows |
| labeledby | ✅ | ✅ | ✅ | Windows |
| aastate | ✅ | ✅ | ✅ | Windows |
| virtualname | ✅ | ✅ | ✅ | Windows |
| text | ✅ | ✅ | ✅ | Windows |
| rowName | ✅ | ✅ | ✅ | Windows |
| idx | ❌ | ❌ | ❌ | Windows |
UIA
| Atributo | Fuzzy | RegEx | Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
| accelkey (Accelerator Key) | ✅ | ✅ | ✅ | Windows |
| acskey (Access Key) | ✅ | ✅ | ✅ | Windows |
| automationid | ✅ | ✅ | ✅ | Windows |
| cls | ✅ | ✅ | ✅ | Windows |
| helpText | ✅ | ✅ | ✅ | Windows |
| legacyAccHelp (Legacy Accessible Help) | ✅ | ✅ | ✅ | Windows |
| enabled | ✅ | ✅ | ✅ | Windows |
| kbfocus (Is Keyboard Focusable) | ✅ | ✅ | ✅ | Windows |
| ispwd (Is Password) | ✅ | ✅ | ✅ | Windows |
| itemstatus | ✅ | ✅ | ✅ | Windows |
| itemtype | ✅ | ✅ | ✅ | Windows |
| rtid (Runtime ID) | ✅ | ✅ | ✅ | Windows |
| Role | ✅ | ✅ | ✅ | Windows |
| name | ✅ | ✅ | ✅ | Windows |
| pid | ✅ | ✅ | ✅ | Windows |
| tableRow | ❌ | ❌ | ❌ | Windows |
| tableCol | ❌ | ❌ | ❌ | Windows |
| rowName | ✅ | ✅ | ✅ | Windows |
| colName | ✅ | ✅ | ✅ | Windows |
| idx | ❌ | ❌ | ❌ | Windows |
Java
| Atributo | Fuzzy | RegEx | Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
| Role | ✅ | ✅ | ✅ | Windows macOS |
| name | ✅ | ✅ | ✅ | Windows macOS |
| virtualname | ✅ | ✅ | ✅ | Windows macOS |
| javastate | ✅ | ✅ | ✅ | Windows macOS |
| tableRow | ❌ | ❌ | ❌ | Windows macOS |
| tableCol | ❌ | ❌ | ❌ | Windows macOS |
| rowName | ✅ | ✅ | ✅ | Windows macOS |
| colName | ✅ | ✅ | ✅ | Windows macOS |
| idx | ❌ | ❌ | ❌ | Windows macOS |
| cls | ✅ | ✅ | ✅ | Windows macOS |
| accessibleClass | ✅ | ✅ | ✅ | Windows macOS |
SAP
| Atributo | Fuzzy | RegEx | Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
| id | ✅ | ✅ | ✅ | Windows macOS |
| leafid Esse atributo não fica exposto no painel Atributo porque é mutuamente exclusivo com o atributo id . Ele pode ser adicionado manualmente. | ✅ | ✅ | ✅ | Windows macOS |
| tableRow | ❌ | ❌ | ❌ | Windows macOS |
| tableCol | ❌ | ❌ | ❌ | Windows macOS |
| colName | ✅ | ✅ | ✅ | Windows macOS |
| relpath | ✅ | ✅ | ✅ | Windows macOS |
| itemId | ✅ | ✅ | ✅ | Windows macOS |
AX
| Atributo | Fuzzy | RegEx | Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
| Role | ✅ | ✅ | ✅ | Mac OS |
| subrole | ✅ | ✅ | ✅ | Mac OS |
| name | ✅ | ✅ | ✅ | Mac OS |
| title | ✅ | ✅ | ✅ | Mac OS |
| Identificador | ✅ | ✅ | ✅ | Mac OS |
| Nome do arquivo | ✅ | ✅ | ✅ | Mac OS |
| url | ✅ | ✅ | ✅ | Mac OS |
| Ajuda | ✅ | ✅ | ✅ | Mac OS |
| enabled | ✅ | ✅ | ✅ | Mac OS |
| focado | ✅ | ✅ | ✅ | Mac OS |
| selecionado(s) | ✅ | ✅ | ✅ | Mac OS |
| Expandido | ✅ | ✅ | ✅ | Mac OS |
| idx | ❌ | ❌ | ❌ | Mac OS |
| Contagem de Linhas | ❌ | ❌ | ❌ | Mac OS |
| Contagem de colunas | ❌ | ❌ | ❌ | Mac OS |
| tableRow | ❌ | ❌ | ❌ | Mac OS |
| tableCol | ❌ | ❌ | ❌ | Mac OS |
| rowName | ✅ | ✅ | ✅ | Mac OS |
| colName | ✅ | ✅ | ✅ | Mac OS |
cURL
| Atributo | Fuzzy | RegEx | Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
| cls | ✅ | ✅ | ✅ | Windows |
| Role | ✅ | ✅ | ✅ | Windows |
| text | ✅ | ✅ | ✅ | Windows |
| title | ✅ | ✅ | ✅ | Windows |
| tableRow | ❌ | ❌ | ❌ | Windows |
| tableCol | ❌ | ❌ | ❌ | Windows |
| cabeçalhoDaColuna | ✅ | ✅ | ✅ | Windows |
| idx | ❌ | ❌ | ❌ | Windows |
Silverlight
Observe que a tag Silverlight não é compatível com os recursos Fuzzy, RegEx e Diferenciação de maiúsculas e minúsculas .
| Atributo | Fuzzy | RegEx | Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
| Role | ❌ | ❌ | ❌ | Windows |
| name | ❌ | ❌ | ❌ | Windows |
| text | ❌ | ❌ | ❌ | Windows |
| idx | ❌ | ❌ | ❌ | Windows |
RDP
A etiqueta RDP é usada para automação remota e seus atributos são idênticos à etiqueta WND.
| Atributo | Fuzzy | RegEx | Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
| app | ✅ | ✅ | ✅ | Windows |
| cls | ✅ | ✅ | ✅ | Windows |
| title | ✅ | ✅ | ✅ | Windows |
| aaname | ✅ | ✅ | ✅ | Windows |
| ctrlname (WinForms) | ✅ | ✅ | ✅ | Windows |
| ctrlid (WinForms) | ✅ | ✅ | ✅ | Windows |
| idx | ❌ | ❌ | ❌ | Windows |
| tid | ❌ | ❌ | ❌ | Windows |
| pid | ❌ | ❌ | ❌ | Windows |
O seletor está sendo validado
Seletor válido
Seletor inválido
Seletor alterado, revalidar