Quando um agente de IA encontra duas abas parecidas, ele deve identificar a página pelo contexto da tarefa antes de preencher, enviar ou fechar qualquer coisa. Título e aparência ajudam a localizar candidatas, mas a escolha precisa considerar endereço, conta conectada, empresa selecionada, registro aberto e estado do formulário. Se duas candidatas continuam indistinguíveis, a resposta correta é interromper a ação e pedir uma identificação específica.
Esse cuidado vale tanto para um assistente que controla o navegador por imagens quanto para uma automação com Playwright. A diferença está no meio de selecionar a página: uma ferramenta pode oferecer um identificador de aba; outra mantém um objeto de página no código. Nenhum desses identificadores comprova, sozinho, que o pedido comercial ou o cliente visível é o esperado.
Resumo rápido
- Faça um inventário das páginas antes de escolher onde agir.
- Combine identificação técnica da aba com identificação do registro de negócio.
- Confira novamente o destino antes de enviar, excluir ou aprovar.
- Capture a nova página quando uma ação abrir outra aba.
- Preserve formulários pendentes e não feche duplicatas automaticamente.
Por que duas abas iguais podem representar tarefas diferentes
Um sistema de gestão pode mostrar o título “Pedidos” em várias páginas. Em uma delas, o operador abriu um orçamento antigo. Na outra, está o pedido atual. A barra de navegação e o botão “Salvar” continuam iguais, mas o efeito de um clique muda completamente. A ambiguidade também aparece quando uma empresa opera duas filiais, quando existem ambientes de teste e produção ou quando um usuário alterna contas no mesmo serviço.
Duplicar a aba não cria uma cópia independente do sistema. Uma alteração pode ser salva no servidor e aparecer mais tarde na outra página. Em sentido inverso, um formulário ainda não enviado pode existir apenas naquela tela. Portanto, nem a semelhança visual prova equivalência nem uma diferença visual prova que os dados estão isolados.
Na documentação do Playwright, uma página representa uma aba ou uma janela aberta dentro de um contexto do navegador. Um contexto pode conter várias páginas. Essa organização técnica, descrita no guia de páginas, permite manter referências separadas. A regra de negócio, porém, precisa ser definida pela equipe: qual empresa, qual ambiente e qual registro autorizam a próxima ação?
Para organizar esse procedimento, comece pelo guia de documentação de processos para agentes. A instrução “atualize o pedido correto” precisa virar uma condição verificável, como “pedido 4812, filial Recife, cliente Oficina Horizonte, situação orçamento”. Os nomes deste exemplo são fictícios.
Monte uma ficha de identificação antes do primeiro clique
Uma ficha curta transforma a seleção da aba em uma decisão auditável. Ela deve registrar o alvo esperado e o que foi efetivamente observado. Evite copiar telas inteiras com dados pessoais para os registros de execução: normalmente bastam identificadores internos, estado e resultado da comparação.
| Sinal | O que conferir | Limite do sinal |
|---|---|---|
| Identificador da página | Referência fornecida pela ferramenta | Identifica a superfície, não o cliente |
| Endereço | Domínio, ambiente e rota esperados | Uma mesma rota pode exibir registros diferentes |
| Conta e organização | Usuário, empresa ou filial selecionada | O nome pode estar abreviado |
| Registro | Número do pedido ou identificador equivalente | Nomes de clientes podem se repetir |
| Estado | Rascunho, aprovado, enviado ou pendente | A página pode estar desatualizada |
Não transforme essa tabela em uma contagem arbitrária de confiança. Acertar quatro sinais e errar a filial continua sendo uma seleção errada. Defina quais campos são obrigatórios para cada fluxo. Uma consulta de catálogo pode exigir apenas ambiente e produto; alterar dados de cobrança pede também identificação do cliente e confirmação do registro.
Se a conta não estiver visível, use a navegação normal da aplicação para consultar a identidade, desde que isso preserve o trabalho aberto. Se a consulta puder descartar um formulário, pare e sinalize a dúvida. Resolver a ambiguidade não autoriza destruir a evidência que permitiria entendê-la.
Selecione a página e mantenha a referência durante o fluxo
Em automações programadas, liste as páginas e associe a candidata validada a uma variável descritiva. Nomes como paginaPedido e paginaConsulta ajudam a explicitar a intenção. Escolher sempre o primeiro ou o último item da lista depende de uma ordem que não expressa o objetivo comercial.
A documentação de Page reúne operações de endereço, título e navegação. Essas operações podem apoiar a conferência, mas não substituem ler os campos que identificam o registro. Em uma aplicação que carrega dados depois da navegação, conferir apenas a URL pode acontecer antes de o pedido aparecer.
Para agentes visuais, a sequência equivalente é obter uma visão atual das abas, escolher pelo identificador disponível, observar novamente o conteúdo e confirmar a ficha. Uma captura antiga não descreve necessariamente a tela atual. Depois de uma mudança de janela, o agente deve renovar sua observação antes de reutilizar uma posição de clique.
Dentro da página escolhida, selecione os controles pelo significado. O guia de localizadores recomenda atributos percebidos pelo usuário, como papel e nome acessível. Na prática, restrinja o botão à região do pedido validado quando a aplicação oferecer essa estrutura. Encontrar “Salvar” em algum lugar da página é menos preciso do que encontrá-lo no formulário certo.
Uma referência estável reduz trocas acidentais, mas ainda precisa de revalidação. A aplicação pode navegar dentro da mesma aba, mudar a filial ou substituir o conteúdo após uma busca. Conserve a referência técnica e confira o estado de negócio nos pontos que antecedem efeitos externos.
Trate novas abas e sessões como mudanças de contexto
Um link de comprovante, uma autenticação ou uma visualização de documento pode abrir outra página. Quando essa abertura for esperada, prepare a captura do evento antes da ação que a provoca. Assim, o código associa a nova página àquela etapa, em vez de procurar depois por qualquer aba com título semelhante.
O fluxo deve especificar o papel da nova superfície: consulta, autenticação ou edição. Uma página de leitura não vira destino de envio só porque está mais recente. Depois de terminar a consulta, retome a referência da página de trabalho e confira o registro antes de continuar.
Também diferencie página de sessão. A documentação de isolamento com contextos explica o uso de ambientes separados no Playwright. Separar contextos é útil em testes com usuários diferentes, mas abrir outra aba no contexto existente não estabelece essa separação. Em produção, a equipe deve verificar como a aplicação trata autenticação, organizações e troca de usuário.
Se aparecer login inesperado, não conclua que a outra aba já autenticada é um substituto equivalente. Ela pode pertencer a outra organização. O procedimento para retomar uma sessão expirada deve preservar a tarefa e exigir nova conferência do alvo após a autenticação.
Na recuperação de uma falha, registre a última etapa comprovada. “Clique tentado” e “pedido salvo” são estados diferentes. Se o envio pode ter ocorrido, consulte o registro antes de repetir. A escolha da aba certa evita um tipo de erro, mas não resolve sozinha a duplicação de operações.
Exemplo: distribuidora de peças em Recife
Considere uma distribuidora fictícia em Recife que usa um agente para preparar propostas comerciais. A responsável pede para revisar o prazo de entrega do pedido 4812. Há duas abas do mesmo ERP: uma mostra esse pedido na filial Recife; a outra exibe o pedido 4798 na filial Caruaru. Ambas têm o título “Proposta comercial”.
O agente começa inventariando as duas páginas. Confere o domínio autorizado, lê a filial no cabeçalho e compara o número do pedido. Seleciona a aba de Recife e registra apenas os identificadores necessários. Antes de editar, observa que a proposta está em rascunho e que o campo de prazo é editável.
Ao abrir o histórico de entrega, o ERP cria uma terceira aba. O agente a trata como consulta. Não transfere para ela a autorização de alterar o pedido. Depois da leitura, volta à referência original e reconfirma pedido e filial. Essa segunda verificação detectaria uma eventual navegação feita por outra pessoa durante a consulta.
Agora suponha que duas abas mostrem o pedido 4812, mas uma contenha alterações manuais ainda não salvas. A política proposta é suspender a edição automática e perguntar qual versão deve prevalecer, informando a diferença encontrada. Fechar uma delas para “organizar” o navegador poderia perder trabalho do vendedor.
O encerramento exige observar o prazo atualizado no registro persistido, conforme as possibilidades do ERP. Um aviso passageiro de sucesso pode complementar a evidência, mas não informa necessariamente o conteúdo salvo. O exemplo ilustra um procedimento de operação; não representa resultado medido em uma empresa real.
Erros comuns
- Escolher pela posição da aba. A ordem pode mudar quando alguém abre ou fecha páginas. Use identidade e estado observados.
- Tratar título igual como prova de duplicação. Muitos sistemas usam o mesmo título para toda a área comercial.
- Fechar páginas antes de conferir pendências. Uma duplicata visual pode guardar um formulário ainda não salvo.
- Confundir ambiente com aparência. Teste e produção podem usar a mesma interface. Confira o destino previsto no procedimento.
- Validar apenas no começo. Reconfira o alvo antes da etapa que gera efeito, especialmente após navegações ou interrupções.
- Repetir envio depois de um erro. Consulte o resultado antes de tentar novamente quando houver possibilidade de a primeira operação ter sido aceita.
Inclua esses casos no seu teste de agente antes da produção. Prepare cenários com títulos iguais, filiais diferentes, formulário pendente e nova aba inesperada. O critério de aprovação deve incluir a capacidade de parar diante da ambiguidade, além de completar o caminho esperado. Uma mensagem clara de bloqueio é melhor evidência do que um acerto obtido por acaso.
Para acompanhar a evolução, registre quantas execuções encontraram múltiplas candidatas, quais sinais resolveram a seleção e quais exigiram intervenção. Não use a ausência de incidentes como prova de proteção completa: uma suíte pequena pode simplesmente não ter provocado o problema.
Perguntas frequentes
O endereço da página basta para escolher a aba?
Depende do sistema. Algumas aplicações incluem o identificador do registro na rota; outras usam uma URL genérica. Mesmo com identificador na rota, confira ambiente, organização e estado necessário para a ação. O endereço é parte da identificação, não uma autorização isolada.
O agente precisa colocar a aba em primeiro plano?
Um agente que opera por imagens precisa observar a superfície que controla. No Playwright, operações podem usar a referência da página sem trazer a aba para frente. O procedimento depende da ferramenta, mas a confirmação do registro continua necessária nos dois casos.
É melhor manter apenas uma aba aberta?
Reduzir abas desnecessárias pode facilitar a operação, desde que a equipe tenha autorizado o fechamento e confirmado a ausência de trabalho pendente. A solução principal é identificar o destino. Uma única aba também pode estar na conta ou no pedido errado.
Como agir quando as duas páginas parecem idênticas?
Procure os campos obrigatórios da ficha e confira possíveis alterações locais. Persistindo a dúvida, suspenda a ação e apresente as candidatas com suas diferenças observáveis. Não invente um critério como “usar a mais recente” sem uma regra de negócio que o sustente.
Esse procedimento elimina erros de envio?
Não. Ele reduz a confusão entre superfícies, mas o agente ainda precisa de validação de conteúdo, limites de autorização e confirmação do resultado. Falhas de aplicação e mudanças simultâneas também exigem tratamento próprio no desenho do processo.