De acordo com esta pergunta anterior , atualizei o Selenium para a versão 2.0.1 Mas agora tenho outro erro, mesmo quando os arquivos de perfil existem em /tmp/webdriver-py-profilecopy
:
Arquivo "/home/sultan/Repository/Django/monitor/app/request.py", linha 236, em executar navegador = Firefox (perfil) Arquivo "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", linha 46, em __init__ self.binary, timeout), Arquivo "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py", linha 46, em __init__ self.binary.launch_browser (self.profile) Arquivo "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", linha 44, em launch_browser self._wait_until_connectable () Arquivo "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", linha 87, em _wait_until_connectable raise WebDriverException ("Não é possível carregar o perfil. Perfil Dir:% s"% self.profile.path) selenium.common.exceptions.WebDriverException: Não é possível carregar o perfil. Diretório do perfil: / tmp / webdriver-py-profilecopy
O que está errado? Como posso resolver esse problema?
sudo
é necessário se não estiver conectado como root. De qualquer forma, foi um salva-vidas! Obrigado!!sudo
se estiver usando umvirtualenv
(que provavelmente deveria usar).Tive o mesmo problema depois de atualizar o Ubuntu para 12.04.
O problema estava no lado do pacote e foi corrigido na versão mais recente da biblioteca. Basta atualizar a biblioteca de selênio. Para quase todos os ambientes Python, isso é:
fonte
Eu enfrentei o mesmo problema com FF 32.0 e Selenium selenium-2.42.1-py2.7.egg. Tentei atualizar o selênio, mas já é a versão mais recente. A solução foi fazer o downgrade do Firefox para a versão 30. Aqui está o processo:
Isso resolveu todos os problemas e essa combinação funciona melhor!
fonte
Como uma extensão da resposta de Jeff Hoye , uma maneira mais 'Pythônica' seria criar uma subclasse da
webdriver.firefox.firefox_profile.FirefoxProfile
seguinte forma:Então, para criar seu driver:
fonte
Se
pip install -U selenium
não funcionar (não funcionou, no meu caso), tente fazer o downgrade de seu Firefox para uma versão anterior.Eu tinha o Firefox 49.0 e rebaixei para 45.0 para ter certeza de que a versão é compatível com o selenium. Funcionou perfeitamente então.
Esta é uma maneira rápida de fazer o downgrade para o Firefox 45.0:
Espero que isto ajude.
fonte
Se você estiver executando o webdriver no cygwin, o problema é que o caminho para o perfil ainda está no formato POSIX, o que confunde os programas do Windows. Minha solução usa cygpath para convertê-lo em formato Windows.
neste arquivo / método: selenium.webdriver.firefox.firefox_binary.launch_browser ():
substituir:
com:
Já que Python não está nem perto de minha linguagem de programação primária, se alguém puder recomendar uma abordagem mais pítônica, talvez possamos colocá-la na distribuição. Com certeza seria útil se funcionasse no cygwin fora da caixa.
fonte
Eu tive o mesmo problema e acreditei que era a combinação errada de selênio / Firefox. Descobri que minhas permissões .mozilla / pasta eram acessíveis apenas ao usuário root. Fazer
chmod 770 ~/.mozilla/
o truque funcionou. Eu sugeriria verificar se esse não é o problema antes de solucionar o problema.fonte
pip install -U selenium
Tive o mesmo problema
Firefox 34.0.5 (Dec 1, 2014)
e atualizei o Selenium de2.42.1
para2.44.0
resolvê-lo.No entanto, desde então vi esse problema novamente, acho que com 2.44.0, e outra atualização o corrigiu. Portanto, estou me perguntando se isso pode ser corrigido simplesmente desinstalando e reinstalando. Nesse caso, não tenho certeza do que isso indicaria o problema subjacente.
fonte
Eu estava usando selênio 2.53 e firefox versão 55.0. Resolvi esse problema instalando a versão mais antiga do firefox (46.0.1), pois o selenium 2.53 não funcionará para o firefox versão 47.0 e superior.
fonte
Esta não é uma solução adequada, mas funcionou para mim, se alguém puder melhorar, ficaria feliz em saber. Eu só executar o meu script como root:
sudo python myscript.py
. Acho que posso resolver alterando o arquivo ou diretório padrão do perfil pode funcionar.fonte