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!
Fiz a alteração acima e resolveu meu problema. Já estava ficando louco. Muito obrigado