Depois de alterar o zoom, um agente de IA deve observar a interface novamente e localizar o alvo antes de clicar. Coordenadas extraídas de uma captura anterior perdem validade quando mudam o tamanho da página, a posição dos elementos ou a relação entre a imagem e o sistema de entrada. A regra prática é simples: mudança de escala exige nova referência visual.
Para implementar essa regra, identifique qual zoom mudou, registre as dimensões da captura e confirme em que unidade a ferramenta recebe os cliques. Em automações de navegador com acesso à estrutura da página, prefira localizar controles por nome e função. Em automações exclusivamente visuais, refaça a captura e a localização após cada mudança relevante.
Resumo rápido
- Zoom do navegador, zoom por gesto e ampliação de uma imagem são operações diferentes.
- Pixels da captura podem ter escala diferente dos pixels CSS usados na automação.
- Não ajuste coordenadas antigas apenas multiplicando pela porcentagem do zoom.
- Depois de ampliar, rolar ou redimensionar, observe novamente o alvo e seu contexto.
- Valide o resultado pelo estado da aplicação, além da posição do cursor.
1. Entenda qual escala mudou
O zoom da página no navegador altera a apresentação do conteúdo. Um formulário pode passar a ocupar mais linhas e uma barra de ações pode sair da área visível. Portanto, a mudança não se resume a aumentar a imagem inteira de maneira uniforme. O ponto que antes correspondia a “Salvar” pode ficar sobre outro controle ou sobre uma área vazia.
Já o gesto de pinça pode ampliar a região visualizada sem produzir o mesmo efeito sobre a organização da página. A documentação da VisualViewport no MDN distingue a área usada para organizar a página da porção efetivamente visível. Essa distinção ajuda a explicar por que um elemento pode existir na página e continuar fora do recorte que o agente enxerga.
Também existe a ampliação feita pelo próprio visualizador de imagens. Se uma ferramenta mostra uma captura reduzida para caber na conversa, as medidas nessa prévia não são automaticamente as medidas do arquivo original. E um sistema operacional pode usar escala de exibição diferente entre monitores. Registre essas situações separadamente, em vez de chamar todas de “zoom”.
| Mudança | Risco para a automação | Conferência recomendada |
|---|---|---|
| Zoom da página | Elementos mudam de tamanho e podem se reorganizar | Nova observação e nova localização do controle |
| Pinça no conteúdo | O recorte visível muda | Área visual e deslocamento atuais |
| Prévia reduzida da captura | A coordenada medida pertence à prévia | Dimensões originais e escala aplicada pela ferramenta |
| Janela redimensionada | Layout pode trocar para outra disposição | Viewport e posição atual do alvo |
| Troca de monitor | A relação entre pixels pode mudar | Escala de exibição e contrato de coordenadas |
2. Separe pixels CSS, imagem e tela
Pixel CSS é a unidade lógica usada pelo navegador para organizar a página. Pixel físico é um ponto da tela. A imagem capturada, por sua vez, tem suas próprias dimensões em pixels. Os três números podem coincidir em um ambiente e divergir em outro. Essa coincidência ocasional costuma esconder o problema até a primeira mudança de configuração.
Segundo a documentação de devicePixelRatio, essa propriedade expressa a relação entre pixels físicos e pixels CSS. O zoom de página afeta seu valor, enquanto o gesto de pinça tem comportamento diferente. Por isso, o valor isolado não deve ser tratado como um medidor universal da porcentagem escolhida no menu do navegador.
O contrato da ferramenta é decisivo. A classe Mouse do Playwright, por exemplo, trabalha em pixels CSS relativos ao canto superior esquerdo do viewport do quadro principal. Um clique com números medidos diretamente em uma imagem de outra escala pode atingir um local incorreto. Outras ferramentas podem receber coordenadas da tela inteira; confirme a documentação de cada uma.
Uma conversão proporcional só faz sentido quando origem, recorte e escala estão conhecidos e a imagem corresponde ao mesmo estado da interface. Se houve rolagem, abertura de painel ou reorganização do formulário, a proporção da captura não recupera a posição anterior. Trate coordenadas como uma observação com contexto, e não como uma propriedade permanente do botão.
3. Reobserve antes de executar o clique
Monte um ciclo curto de observação, ação e verificação. Antes de agir, confirme a janela, a página e o registro em edição. Capture a tela com o zoom atual e procure o controle pelo texto, pelos campos próximos e pela ação esperada. Um ícone sozinho oferece menos contexto que um botão identificado dentro do formulário correto.
- Interrompa a sequência de cliques quando detectar mudança de escala ou tamanho.
- Descarte posições calculadas a partir da observação anterior.
- Espere a interface terminar a transição, usando um sinal observável de estabilidade.
- Capture novamente e identifique o controle pretendido.
- Execute uma ação e confira seu efeito antes da próxima.
O sinal de estabilidade pode ser o fim de uma animação, o desaparecimento de um indicador de carregamento ou a presença do formulário esperado. A escolha depende da aplicação. Esperar um intervalo fixo não demonstra, por si só, que os botões já estão na posição final. Se a ferramenta permitir observar os elementos, use essa informação para complementar a imagem.
O estado de abas também precisa estar correto. Uma referência visual perfeita na página errada continua sendo perigosa. O guia sobre agentes em abas duplicadas trata dessa identificação. A mesma revisão deve detectar sobreposições, como as discutidas em diálogos modais que bloqueiam cliques.
4. Prefira alvos identificáveis e teste a retomada
Quando houver acesso ao navegador por automação, controles identificados por função e nome costumam expressar melhor a intenção que posições fixas. A documentação de localizadores do Playwright apresenta esse mecanismo. Ainda é necessário distinguir botões repetidos, confirmar o formulário e verificar o resultado. Um nome acessível igual em duas áreas não resolve a ambiguidade sozinho.
Se o processo exigir coordenadas, obtenha medidas atuais. A API getBoundingClientRect retorna o retângulo do elemento em relação ao viewport. Isso não equivale a uma posição absoluta na tela inteira. Confira o sistema de referência antes de encaminhar esses valores a uma ferramenta externa.
Para homologar o fluxo, use um ambiente de teste e uma operação reversível. Execute o mesmo objetivo no zoom inicial, depois com a página ampliada e depois com a janela menor. Registre se o agente percebeu a mudança, renovou a observação, encontrou o alvo correto e confirmou o estado final. A avaliação deve incluir o caminho de recuperação, além do caso em que tudo permanece igual.
Inclua um teste em que o botão deixa de aparecer. O comportamento aceitável é localizar uma alternativa prevista, rolar com nova observação ou informar a limitação. Clicar na antiga posição esperando acertar deve reprovar o cenário. Para manter a avaliação consistente, descreva antecipadamente o que conta como sucesso, interrupção correta e falha.
Não remova necessidades de acessibilidade apenas para facilitar a automação. Se a equipe precisa trabalhar com texto ampliado, esse estado deve fazer parte dos testes. Padronizar um ambiente pode ajudar a reproduzir falhas, mas o procedimento ainda precisa detectar quando o ambiente real saiu do padrão.
5. Exemplo: distribuidora em Joinville revisa um pedido
Considere uma distribuidora de materiais elétricos em Joinville. Este exemplo é ilustrativo. A equipe usa um sistema web para conferir pedidos e autoriza o agente a ajustar uma observação interna, sem enviar o pedido ao cliente. Uma pessoa aumenta o zoom para ler o endereço e entrega a tarefa ao agente com a página aberta.
Uma execução frágil reutilizaria a posição de “Salvar observação” obtida antes da ampliação. Na nova disposição, o bloco de endereço ocupa mais altura e empurra as ações para baixo. O agente precisa perceber que sua referência anterior não descreve a tela atual, mesmo que o número do pedido permaneça o mesmo.
No procedimento proposto, ele confirma o pedido e lê a observação existente. Depois captura o formulário ampliado, localiza o campo e insere o texto autorizado. Antes de salvar, confere se o controle pertence à observação interna e se não há um diálogo sobreposto. Após o clique, procura a confirmação e relê o conteúdo salvo.
O registro de conclusão informa o pedido conferido, a alteração realizada e a evidência encontrada. Se o botão permanecer inacessível, o agente interrompe a etapa e informa onde parou. A empresa pode testar esse roteiro com um pedido fictício, incluindo o caso em que a janela é reduzida durante a tarefa. Não há promessa de ganho de produtividade ou taxa de acerto; o objetivo é verificar um comportamento observável.
6. Erros comuns
Multiplicar toda coordenada pela porcentagem do zoom. Essa conta ignora reorganização do layout, rolagem e diferenças entre origens. A correção recomendada é localizar o alvo no estado atual. Conversões geométricas devem ficar limitadas a situações em que o contrato da imagem é conhecido.
Usar uma captura antiga porque a página não mudou de endereço. O mesmo endereço pode mostrar outro recorte ou um painel expandido. Vincule cada posição à captura que a gerou e invalide essa referência após alterações visuais relevantes.
Considerar o clique uma prova de conclusão. Um evento de entrada aceito não comprova que o formulário foi salvo. Procure uma evidência compatível com a tarefa, como o conteúdo persistido ou uma confirmação da aplicação. Esse cuidado complementa o checklist de conferência de respostas de IA.
Repetir cliques sem nova observação. Se o primeiro não produziu o resultado, repetir a posição pode ampliar o erro. Defina uma condição de parada e permita retomada somente depois de entender o estado atual.
7. Perguntas frequentes
Voltar o zoom para 100% resolve?
Pode restaurar uma configuração conhecida, mas não garante a mesma posição. A janela, a rolagem e o conteúdo podem estar diferentes. Faça uma nova observação e confirme o alvo mesmo depois de restaurar o zoom.
Uma captura de tela já contém tudo que o agente precisa?
Ela registra a aparência naquele instante. Para executar um clique, também é preciso conhecer dimensões, recorte e sistema de coordenadas da ferramenta. Além disso, a interface pode mudar entre a captura e a ação.
Posso usar apenas o nome do botão?
Use o nome junto do contexto. Confira a área da página, o registro em edição e a existência de controles repetidos. A localização semântica ajuda a expressar a intenção, mas continua exigindo validação do resultado.
O zoom afeta agentes que só analisam texto?
A questão de coordenadas aparece quando há interação visual. Um processo que recebe apenas texto não usa essas posições, embora a etapa que captura ou extrai esse texto ainda possa depender da apresentação da interface.
O que registrar para investigar um clique errado?
Guarde a captura anterior, a captura atual, dimensões, posição enviada, unidade esperada e resultado observado. Remova dados que não sejam necessários à investigação e limite o acesso ao registro da tarefa.