Por que o navegador Edge não inicia quando a automação é executada pelo Orquestrador?

Por que o navegador Edge não inicia quando a automação é executada pelo Orquestrador?

A automação Web com o Microsoft Edge executa normalmente na máquina local, mas falha quando o robô é executado pelo Orquestrador: o navegador não chega a abrir. A causa é um bug do Selenium, e a solução é adicionar um argumento às opções do navegador. Veja abaixo como identificar o problema e como resolver.

1. Qual erro aparece no log da execução?

A execução para com a seguinte mensagem no log:

Message: session not created: probably user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir

2. Por que o Edge não inicia pelo Orquestrador?

Apesar de a mensagem apontar para o diretório de perfil (--user-data-dir, a pasta onde o navegador guarda dados como cookies e histórico), o comportamento vem de um bug do Selenium, reportado na issue #15340 do repositório oficial.

Ao iniciar, o Edge tenta relançar os próprios processos pela camada de compatibilidade, um mecanismo do Windows para rodar programas em modo compatível, e é esse relançamento que falha. Por isso o erro aparece nas execuções controladas pelo Runner e não no ambiente local.

3. Em quais versões o problema foi reportado?

A issue foi aberta com o Selenium na versão 4.29.0 e com o Edge e o msedgedriver na versão 133.0.3065.82, em Windows 10.

Até o momento, não há uma versão do Selenium indicada como correção. Mantenha o argumento aplicado mesmo depois de atualizar o navegador ou o driver, e acompanhe a issue para verificar se a situação mudou.

4. Como fazer o Edge iniciar pelo Orquestrador?

Adicione o argumento --edge-skip-compat-layer-relaunch às opções do navegador. Ele impede que o Edge relance os processos pela camada de compatibilidade. Use o mesmo formato da seção Personalizando as opções do navegador:

def_options = default_options(
headless=bot.headless,
download_folder_path=bot.download_folder_path,
user_data_dir=None, # Informar 'None' aqui irá gerar um diretório temporário
)

# Impede que o Edge relance os processos pela camada de compatibilidade
def_options.add_argument("--edge-skip-compat-layer-relaunch")

bot.options = def_options

Com o argumento aplicado, os robôs voltam a executar no ambiente orquestrado, sem precisar alterar configurações locais ou políticas de execução da máquina.

Ainda precisa de ajuda?

Se isso não resolver o seu caso ou sua pergunta não está listada aqui, abra um chamado com o time de suporte.