1
resposta

Erro: Selenium e webdriver

Boa tarde.

Ao executar o código para verificar a versão do navegador e instalar o webdriver dá o seguinte erro:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-7-351cd10d5f26> in <cell line: 5>()
      3 from selenium.webdriver.chrome.service import Service
      4 
----> 5 servico = Service(ChromeDriverManager().install())
      6 
      7 navegador = webdriver.Chrome(service=servico)

4 frames
/usr/local/lib/python3.10/dist-packages/webdrivermanager/drivers/chrome.py in getlatestreleaseversion(self)
     62             return determinedbrowserversion
     63         # Remove the build version (the last segment) from determinedbrowserversion for version < 113
---> 64         determinedbrowserversion = ".".join(determinedbrowserversion.split(".")[:3])
     65         latestreleaseurl = (
     66             self.latestreleaseurl

AttributeError: 'NoneType' object has no attribute 'split'*

O código é o seguinte:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service

servico = Service(ChromeDriverManager().install())

navegador = webdriver.Chrome(service=servico)
1 resposta

O erro AttributeError: 'NoneType' object has no attribute 'split' sugere que a função que tenta obter a versão do navegador Chrome instalado no seu sistema não está conseguindo encontrar essa informação, resultando em um valor None que, por sua vez, não pode ser processado pelo método split().

Esse problema pode ocorrer por várias razões, como a falta do navegador Chrome instalado no sistema, problemas de permissão, ou até mesmo uma incompatibilidade com a versão específica da biblioteca webdriver-manager que você está usando. Aqui estão algumas soluções que você pode tentar para resolver esse problema:

1. Verifique a Instalação do Chrome

Primeiramente, certifique-se de que o Google Chrome está instalado no seu sistema e que você pode acessá-lo normalmente. Se não estiver instalado, faça a instalação do navegador.

2. Atualize a Biblioteca webdriver-manager

Pode ser que você esteja usando uma versão da biblioteca webdriver-manager que tenha bugs ou não seja compatível com a sua versão do Chrome. Tente atualizar webdriver-manager para a versão mais recente disponível:

pip install --upgrade webdriver-manager

3. Especifique a Versão do ChromeDriver Manualmente

Se o método automático de detecção da versão do Chrome não estiver funcionando, você pode especificar manualmente a versão do ChromeDriver que corresponde à versão do seu navegador Chrome. Você pode encontrar as versões correspondentes no site do ChromeDriver. Depois de determinar a versão correta, você pode instalar o ChromeDriver manualmente usando webdriver-manager:

servico = Service(ChromeDriverManager(version="sua_versão_aqui").install())

Substitua "sua_versão_aqui" pela versão do ChromeDriver que você precisa.

4. Tente Usar Outra Abordagem para Inicializar o WebDriver

Se as soluções anteriores não funcionarem, você pode tentar uma abordagem alternativa para inicializar o WebDriver, sem usar webdriver-manager. Isso pode envolver baixar manualmente o ChromeDriver e especificar o caminho para ele ao criar a instância do navegador:

from selenium import webdriver

# Substitua '/path/to/chromedriver' pelo caminho onde o ChromeDriver está localizado no seu sistema
caminho_chromedriver = '/path/to/chromedriver'
navegador = webdriver.Chrome(executable_path=caminho_chromedriver)

Essa abordagem requer que você gerencie manualmente as versões do ChromeDriver, mas pode ser uma solução se as outras não funcionarem.

Conclusão

Esses passos devem ajudá-lo a resolver o problema relacionado ao AttributeError ao tentar usar o Selenium com o WebDriver do Chrome. A solução exata pode variar dependendo da configuração específica do seu sistema e das versões dos softwares envolvidos.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade