Según esta pregunta anterior , actualicé Selenium a la versión 2.0.1 Pero ahora tengo otro error, incluso cuando los archivos de perfil existen en /tmp/webdriver-py-profilecopy
:
Archivo "/home/sultan/Repository/Django/monitor/app/request.py", línea 236, en realizar browser = Firefox (perfil) Archivo "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", línea 46, en __init__ self.binary, timeout), Archivo "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py", línea 46, en __init__ self.binary.launch_browser (auto.perfil) Archivo "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", línea 44, en launch_browser self._wait_until_connectable () Archivo "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", línea 87, en _wait_until_connectable raise WebDriverException ("No se puede cargar el perfil. Perfil Dir:% s"% self.profile.path) selenium.common.exceptions.WebDriverException: no se puede cargar el perfil. Dir de perfil: / tmp / webdriver-py-profilecopy
¿Qué está mal? ¿Cómo puedo resolver este problema?
sudo
Es necesario agregar un si no ha iniciado sesión como root. De todos modos, ¡esto fue un salvavidas! ¡¡Gracias!!sudo
si está usando unvirtualenv
(que probablemente debería usar).Tuve el mismo problema después de actualizar Ubuntu a 12.04.
El problema estaba en el paquete y se ha solucionado en la última versión de la biblioteca. Simplemente actualice la biblioteca de selenio. Para casi todos los entornos de Python, esto es:
fuente
Enfrenté el mismo problema con FF 32.0 y Selenium selenium-2.42.1-py2.7.egg. Intenté actualizar el selenio, pero ya es la última versión. La solución fue degradar Firefox a la versión 30. Este es el proceso:
¡Esto resolvió todos los problemas y esta combinación funciona mejor!
fuente
Como una extensión de la respuesta de Jeff Hoye , una forma más 'Pythonic' sería subclasificar de la
webdriver.firefox.firefox_profile.FirefoxProfile
siguiente manera:Luego, para crear su controlador:
fuente
Si
pip install -U selenium
no funciona (en mi caso no funcionó), intente degradar su Firefox a una versión anterior.Tenía Firefox 49.0 y lo bajé a 45.0 para asegurarme de que la versión sea compatible con selenium. Entonces funcionó perfectamente.
Aquí hay una forma rápida de cambiar a Firefox 45.0:
Espero que esto ayude.
fuente
Si está ejecutando webdriver desde cygwin, el problema es que la ruta al perfil todavía está en formato POSIX, lo que confunde a los programas de Windows. Mi solución usa cygpath para convertirlo al formato de Windows.
en este archivo / método: selenium.webdriver.firefox.firefox_binary.launch_browser ():
reemplazar:
con:
Dado que Python ni siquiera se acerca a mi lenguaje de programación principal, si alguien puede recomendar un enfoque más pitónico, tal vez podamos introducirlo en la distribución. Seguro que sería útil si funcionara en cygwin nada más sacarlo de la caja.
fuente
Tuve el mismo problema y creí que era la combinación incorrecta de selenium / Firefox. Resultó que mis permisos de carpeta .mozilla / solo eran accesibles para el usuario root. Haciendo
chmod 770 ~/.mozilla/
el truco. Sugeriría asegurarse de que este no sea el problema antes de continuar con la resolución de problemas.fuente
pip install -U selenium
Tuve este mismo problema con la
Firefox 34.0.5 (Dec 1, 2014)
actualización de Selenium2.42.1
para2.44.0
resolver mi problema.Sin embargo, desde entonces he vuelto a ver este problema, creo que con 2.44.0, y otra actualización lo solucionó. Así que me pregunto si podría solucionarse simplemente desinstalando y volviendo a instalar. Si es así, no estoy seguro de qué indicaría el problema subyacente.
fuente
Estaba usando selenium 2.53 y firefox versión 55.0. Resolví este problema instalando la versión anterior de firefox (46.0.1) ya que el selenium 2.53 no funcionará para la versión 47.0 de firefox y superior.
fuente
Esta no es una solución adecuada, pero funcionó para mí, si alguien puede mejorar, me alegraría saberlo. Yo sólo paso la secuencia de comandos como root:
sudo python myscript.py
. Supongo que puedo resolver cambiando el archivo o directorio predeterminado del perfil que podría funcionar.fuente