Erro em automação web com edge

Estou desenvolvendo uma automação web com o edge que abre o navegador já logado na minha conta. A aplicação funciona abrindo um navegador deslogado, porém, com o navegador logado, a aplicação não funciona. O navegador apenas abre no meu perfil e não acontece mais nada. No terminal, aparece a seguinte mensagem de erro:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Microsoft Edge failed to start: exited normally.
(session not created: DevToolsActivePort file doesn’t exist)
(The process started from msedge location C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe is no longer running, so msedgedriver is assuming that msedge has crashed.)

Já tentei adicionar argumentos adicionais indicados no caso da ocorrência desse erro:

profile_path = r"C:\Users\novoa\AppData\Local\Microsoft\Edge\User Data"

    def_options = default_options(
        user_data_dir=profile_path  # Inform the profile path that wants to start the browser
    ) 
    def_options.add_argument('–profile-directory=Default')
    def_options.add_argument("--disable-dev-shm-usage")
    def_options.add_argument('--no-sandbox')
    # Update the options to use the customized Options.
    bot.options = def_options

Também já tentei atualizar o navegador mas sem sucesso.

Desde já, obrigado pelo suporte

@MatheusNovoa verifique se você está com o edgedriver atualizado para sua versão do navegador: Microsoft Edge WebDriver | Microsoft Edge Developer

Sim, tanto o edgedriver quanto o edge apontam para a versão 125.0.2535.51

@MatheusNovoa por acaso você está executando esse código com privilégios de administrador? Um tempo atrás observei um problema relacionado a isso onde exatamente essa mesma exceção era lançada, aparentemente o Edge tem algumas particularidades quando o script é iniciado com privilégios mais altos.

O que resolveu na época foi incluir o argumento --remote-debugging-port=<port>, não sei se pra esse caso em específico pode resolver, mas se quiser testar pode tentar usar algo assim:

...
def_options.add_argument("--remote-debugging-port=9999")
bot.options = def_options

Valeu pela dica João, mas eu tentei com o Chrome e funcionou. Mas valeu mesmo assim, se acontecer algo parecido novamente vou tentar fazer isso. Abraço!!

1 Like