Erro ao tentar abrir o navegador em modo headless

Olá , Eu estou tentando abrir o navegador em modo headless mas sempre que tento surge esse erro ( em anexo ). Quando executo o self.headless como “False”, funciona perfeitamente mas, quando coloco como “True” a execução termina em erro.

Olá @PauloXV, tudo bem?

Houve uma alteração recente no Selenium, onde foi alterada a flag que defini a configuração headless do navegador Chrome. Para as versões 96 a 108, deve-se utilizar a flag --headless=chrome, e após a versão 109 deve utilizar a flag --headless=new.

Como é uma atualização recente, ainda não deu tempo de implementa-la no framework BotCity Web. Mas já está no roteiro, e nas próximas semanas o framework será atualizado.

Mesmo assim, como alternativa, peço que tente add a flag --headless=chrome ou --headless=new de acordo com a sua versão do Chrome, configurando diretamente as opções padrões do navegador, como mostra o código abaixo:

    def action(self, execution=None):

        # Confgura execução em modo headless
        self.headless = True

        # Define navegador que irá utilizar
        self.browser = Browser.CHROME
        
        # Define o caminho do webdriver
        self.driver_path = "chromedriver.exe"

        # Define opçãos padroes para executação do navegador
        def_options = default_options()

        # Add novo argumento headless, para versões do chrome > 109
        def_options.add_argument("--headless=new")

        # Atualiza as opções para uusar as opções personalizadas
        self.options = def_options

        # Abre o navegador na URL desejada
        self.browse("sua_url")

Lembrando que eu usei a flag --headless=new porque a minha versão do Chrome é maior que 109, se a sua for menor, utilize a flag --headless=chrome.

Eu consegui reproduzir o mesmo erro que você, e fazendo as alterações acima resolveu o meu problema. A automação executou normalmente em modo headless.

Veja se funciona pra você, qualquer problema, nos avise!

1 Like

Fiz a alteração acima e resolveu meu problema. Já estava ficando louco. Muito obrigado :smiley: