- 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
- Application event trigger
- Block User Input
- Check/Uncheck
- Check App State
- Check Element
- Click
- Click Event Trigger
- Drag and Drop
- Extract Table Data
- Find Elements
- 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
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 no corpo de uma atividade e selecione Indicar destino na tela ou Editar destino.
The Selector Editor window enables you to see the automatically-generated selector and edit it and its attributes. To access this window, use the Ellipsis button next to the Selector field, in the Properties panel.
|
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. |
As tabelas a seguir apresentam a compatibilidade entre tags e atributos usados para criar seletores e a capacidade do 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.
WND
|
Atributo |
Fuzzy |
RegEx |
Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
|
app |
|
|
|
Windows Mac OS |
|
cls |
|
|
| Windows |
|
title |
|
|
|
Windows Mac OS |
|
aaname |
|
|
| Windows |
|
ctrlname (WinForms) |
|
|
| Windows |
|
ctrlid (WinForms) |
|
|
| Windows |
|
idx |
|
|
|
Windows Mac OS |
|
tid |
|
|
|
Windows Mac OS |
|
pid |
|
|
|
Windows Mac OS |
|
isremoteapp |
|
|
| Windows |
|
aastate |
|
|
| Windows |
| Role | Mac OS | |||
| enabled | Mac OS | |||
| focado | Mac OS | |||
| selecionado(s) | Mac OS | |||
| Expandido | Mac OS | |||
|
sapClient (SAP) |
|
|
|
Windows Mac OS |
|
sapLanguage (SAP) |
|
|
|
Windows Mac OS |
|
sapProgram (SAP) |
|
|
|
Windows Mac OS |
|
sapScreen (SAP) |
|
|
|
Windows Mac OS |
|
sapSession (SAP) |
|
|
|
Windows Mac OS |
|
sapSysName (SAP) |
|
|
|
Windows Mac OS |
|
sapSysNumber (SAP) |
|
|
|
Windows Mac OS |
|
sapSysSessionId (SAP) |
|
|
|
Windows Mac OS |
|
sapTransaction (SAP) |
|
|
|
Windows Mac OS |
|
sapUser (SAP) |
|
|
|
Windows Mac OS |
| curlApplet (Curl) | Windows |
HTML
|
Atributo |
Fuzzy |
RegEx |
Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
|
url |
|
|
|
Windows Mac OS Linux |
|
htmlwindowname |
|
|
|
Windows Mac OS Linux |
|
title |
|
|
|
Windows Mac OS Linux |
|
class |
|
|
|
Windows Mac OS Linux |
|
app |
|
|
|
Windows Mac OS Linux |
|
idx |
|
|
|
Windows Mac OS Linux |
|
pid |
|
|
|
Windows Mac OS Linux |
|
tid |
|
|
|
Windows Mac OS Linux |
|
excludehwnd |
|
|
|
Windows Mac OS Linux |
|
bsid (Browser Session ID) |
|
|
|
Windows Mac OS Linux |
|
isremoteapp |
|
|
|
Windows Mac OS 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 Mac OS Linux |
|
idx |
|
|
|
Windows Mac OS Linux |
|
aaname |
|
|
|
Windows Mac OS Linux |
|
name |
|
|
|
Windows Mac OS Linux |
|
id |
|
|
|
Windows Mac OS Linux |
|
parentid |
|
|
|
Windows Mac OS Linux |
|
class |
|
|
|
Windows Mac OS Linux |
|
css-selector |
|
|
|
Windows Mac OS Linux |
|
innertext |
|
|
|
Windows Mac OS Linux |
|
visibleinnertext |
|
|
|
Windows Mac OS Linux |
|
isleaf |
|
|
|
Windows Mac OS Linux |
|
parentclass |
|
|
|
Windows Mac OS Linux |
|
parentname |
|
|
|
Windows Mac OS Linux |
|
src |
|
|
|
Windows Mac OS Linux |
|
href |
|
|
|
Windows Mac OS Linux |
|
tableCol |
|
|
|
Windows Mac OS Linux |
|
tableRow |
|
|
|
Windows Mac OS Linux |
|
colName |
|
|
|
Windows Mac OS Linux |
|
rowName |
|
|
|
Windows Mac OS Linux |
|
aria-label |
|
|
|
Windows Mac OS Linux |
|
aria-labelledby |
|
|
|
Windows Mac OS 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 Mac OS |
|
name |
|
|
|
Windows Mac OS |
|
virtualname |
|
|
|
Windows Mac OS |
|
javastate |
|
|
|
Windows Mac OS |
|
tableRow |
|
|
|
Windows Mac OS |
|
tableCol |
|
|
|
Windows Mac OS |
|
rowName |
|
|
|
Windows Mac OS |
|
colName |
|
|
|
Windows Mac OS |
|
idx |
|
|
|
Windows Mac OS |
| cls |
Windows Mac OS | |||
| accessibleClass |
Windows Mac OS |
SAP
|
Atributo |
Fuzzy |
RegEx |
Diferenciação de maiúsculas e minúsculas | SO |
|---|---|---|---|---|
|
id |
|
|
|
Windows Mac OS |
|
leafid Esse atributo não fica exposto no painel Atributo porque é mutuamente exclusivo com o atributo id. Ele pode ser adicionado manualmente. |
|
|
|
Windows Mac OS |
|
tableRow |
|
|
|
Windows Mac OS |
|
tableCol |
|
|
|
Windows Mac OS |
|
colName |
|
|
|
Windows Mac OS |
|
relpath |
|
|
|
Windows Mac OS |
|
itemId |
|
|
|
Windows Mac OS |
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 |
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