Estou usando selênio com python e baixei o chromedriver para o meu computador Windows neste site: http://chromedriver.storage.googleapis.com/index.html?path=2.15/
Depois de baixar o arquivo zip, descompactei o arquivo zip na minha pasta de downloads. Em seguida, coloquei o caminho para o binário executável (C: \ Users \ michael \ Downloads \ chromedriver_win32) na variável de ambiente "Path".
No entanto, quando executo o seguinte código:
from selenium import webdriver
driver = webdriver.Chrome()
... Continuo recebendo a seguinte mensagem de erro:
WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/selenium/wiki/ChromeDriver
Mas - como explicado acima - o executável está (!) No caminho ... o que está acontecendo aqui?
python
selenium
selenium-chromedriver
stead_progress
fonte
fonte
chromedriver.exe
no mesmo diretório do seu script Python.choco install chromedriver
,.Respostas:
Você pode testar se ele realmente está no PATH, se abrir um cmd e digitar
chromedriver
(assumindo que o executável do seu chromedriver ainda esteja nomeado assim) e pressione Enter. SeStarting ChromeDriver 2.15.322448
estiver aparecendo, o PATH está definido adequadamente e há algo errado.Como alternativa, você pode usar um caminho direto para o chromedriver assim:
Então, no seu caso específico:
fonte
pip
?Vejo as discussões ainda falarem sobre a maneira antiga de configurar o chromedriver baixando o binário e configurando o caminho manualmente.
Isso pode ser feito automaticamente usando o webdriver-manager
Agora, o código acima na pergunta funcionará simplesmente com as alterações abaixo,
O mesmo pode ser usado para definir o Firefox, Edge e binários.
fonte
A mesma situação com o pycharm community edition, portanto, como no cmd, você deve reiniciar seu ide para recarregar as variáveis de caminho. Reinicie o seu ide e deve ficar bem.
fonte
No Linux (Ubuntu ou Debian):
No macOS, instale https://brew.sh/ e faça
fonte
driver = webdriver.Chrome()
funcionou bem para mim.Nós temos que adicionar a string do caminho, comece com a letra
r
antes da string, para a string bruta. Eu testei dessa maneira, e funciona.fonte
Algumas informações / esclarecimentos adicionais para futuros leitores deste tópico, para evitar mexer com o env do PATH. variável no nível do Windows e reinicialização do sistema Windows: (cópia da minha resposta em https://stackoverflow.com/a/49851498/9083077 conforme aplicável ao Chrome):
(1) Faça o download do chromedriver (conforme descrito anteriormente neste tópico) e coloque o chromedriver.exe (descompactado) em X: \ Folder \ of \ your \ choice
(2) Exemplo de código Python:
Notas: (1) Pode levar cerca de 5 segundos para o código de amostra (na resposta mencionada) abrir o navegador Firefox para o URL especificado. (2) O console python mostraria o seguinte erro se ainda não houver um servidor executando no URL especificado ou exibindo uma página com o título que contém a string 'Django': afirme 'Django' no browser.title AssertionError
fonte
Para Linux e OSX
Etapa 1: faça o download do chromedriver
Etapa 2: adicione o chromedriver ao
/usr/local/bin
Agora você deve poder executar
sem problemas
fonte
Ao descompactar o chromedriver, especifique um local exato para que você possa rastreá-lo mais tarde. Abaixo, você está obtendo o chromedriver correto para seu sistema operacional e descompactando-o em um local exato, que pode ser fornecido como argumento posteriormente no seu código.
wget http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip unzip chromedriver_linux64.zip -d /home/virtualenv/python2.7.9/
fonte
/usr/local/bin/
instalar globalmente.Se você estiver trabalhando com o framework de robôs RIDE. Depois, você pode baixar
Chromedriver.exe
do site oficial e manter esse arquivo .exe noC:\Python27\Scripts
diretório Agora mencione esse caminho como sua variável de ambiente, por exemplo.C:\Python27\Scripts\chromedriver.exe
.Reinicie o computador e execute o mesmo caso de teste novamente. Você não receberá esse problema novamente.
fonte
De acordo com as instruções , você precisa incluir o caminho para o ChromeDriver ao instanciar o webdriver.
fonte
Antes de adicionar o chromedriver ao seu caminho, verifique se a mesma versão do seu navegador.
Caso contrário, você precisará corresponder às versões: atualize / faça o downgrade do seu chrome e atualize / faça o downgrade do seu webdriver.
Eu recomendo atualizar sua versão do Chrome o máximo possível e combinar o driver da web.
Para atualizar o chrome:
help
->About Google Chrome
Faça o download da versão compatível aqui: http://chromedriver.chromium.org/downloads .
Nota: o chromedriver mais novo nem sempre corresponde à versão mais recente do chrome!
Agora você pode adicioná-lo ao PATH:
crie uma nova pasta em algum lugar do seu computador, onde você colocará seus drivers da web. Eu criei uma pasta chamada
webdrivers
emC:\Program Files
copie o caminho da pasta. No meu caso foi
C:\Program Files\webdrivers
clique com o botão direito em
this PC
->properties
:Advanced System settings
Environment Variables
System variables
, clique empath
e clique emedit
new
É isso aí! Eu usei pycharm e tive que reabri-lo. Talvez seja o mesmo com outros IDEs ou terminais.
fonte
Poderia tentar reiniciar o computador se ele não funcionar depois de ter certeza de que PATH está definido corretamente.
No meu caso no Windows 7, sempre recebi o erro no WebDriverException: Mensagem: para chromedriver, gecodriver, IEDriverServer. Tenho certeza de que tenho o caminho correto. Reinicie o computador, todo o trabalho
fonte
No meu caso, esse erro desaparece quando copio o arquivo chromedriver para a pasta c: \ Windows. É porque o diretório windows está no caminho em que o script python verifica a disponibilidade do chromedriver.
fonte
Se você estiver usando o intérprete remoto, também deverá verificar se o PATH executável está definido. No meu caso, mudar do intérprete remoto do Docker para o intérprete local resolveu o problema.
fonte
Eu encontrei o mesmo problema que o seu. Estou usando o PyCharm para escrever programas e acho que o problema está na configuração do ambiente no PyCharm e não no SO. Resolvi o problema acessando a configuração de script e editando o PATH nas variáveis de ambiente manualmente. Espero que você ache isto útil!
fonte
Adicione o driver da web (chromedriver.exe ou geckodriver.exe) aqui C: \ Windows . Isso funcionou no meu caso
fonte
A melhor maneira é talvez obter o diretório atual e anexar o endereço restante a ele. Como este código (Word no Windows. No Linux, você pode usar algo em linha pwd):
webdriveraddress = str(os.popen("cd").read().replace("\n", ''))+'\path\to\webdriver'
fonte
Quando baixei o chromedriver.exe, apenas o movi para a pasta PATH C: \ Windows \ System32 \ chromedriver.exe e tive exatamente o mesmo problema.
Para mim, a solução foi apenas alterar a pasta no PATH, então apenas a mudei para a pasta bin Pycharm Community, que também estava no PATH. ex:
fonte
Teve esse problema com o Mac Mojave executando a estrutura de teste do Robot e o Chrome 77. Isso resolveu o problema. Parabéns @Navarasu por me indicar o caminho certo.
Em seguida, no prompt do python:
Isso leva ao seguinte erro:
~/chromedriver/chromedriver
Abra
~/.bash_profile
com o editor e adicione:Abra a nova janela do terminal, ta-da 🎉
fonte
Eu tive esse problema no Webdriver 3.8.0 (Chrome 73.0.3683.103 e ChromeDriver 73.0.3683.68). O problema desapareceu depois que eu fiz
para atualizar o Webdriver para 3.14.1.
fonte
A melhor maneira, com certeza, é aqui:
Faça o download e descompacte o chromedriver e coloque 'chromedriver.exe' em C: \ Python27 \ Scripts, e você não precisará fornecer o caminho do driver, apenas
Você não precisa adicionar caminhos nem nada
fonte
Verifique o caminho do seu driver chrome, ele pode não ser obtido a partir daí. Basta copiar e colar o local do driver no código.
fonte
(para usuários de Mac) Eu tenho o mesmo problema, mas resolvi desta maneira simples: você deve colocar seu chromedriver.exe na mesma pasta do script executado e, em pyhton, escreva esta instrução:
importação os
os.environ ["PATH"] + = os.pathsep + r'X: / sua / pasta / script / '
fonte