Selenium usando Python: el ejecutable de Geckodriver debe estar en PATH

479
tadm123 2016-10-24 11:39.

Soy nuevo en la programación y comencé hace Pythonaproximadamente 2 meses y estoy repasando Automate the Boring Stuff de Sweigart con texto de Python . Estoy usando IDLE y ya instalé el módulo de selenio y el navegador Firefox. Cada vez que intenté ejecutar la función webdriver, obtengo esto:

from selenium import webdriver
browser = webdriver.Firefox()

Excepción: -

Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x00000249C0DA1080>>
Traceback (most recent call last):
  File "C:\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 163, in __del__
    self.stop()
  File "C:\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 135, in stop
    if self.process is None:
AttributeError: 'Service' object has no attribute 'process'
Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x00000249C0E08128>>
Traceback (most recent call last):
  File "C:\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 163, in __del__
    self.stop()
  File "C:\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 135, in stop
    if self.process is None:
AttributeError: 'Service' object has no attribute 'process'
Traceback (most recent call last):
  File "C:\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 64, in start
    stdout=self.log_file, stderr=self.log_file)
  File "C:\Python\Python35\lib\subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "C:\Python\Python35\lib\subprocess.py", line 1224, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    browser = webdriver.Firefox()
  File "C:\Python\Python35\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 135, in __init__
    self.service.start()
  File "C:\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 71, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 

Creo que necesito establecer el camino para, geckodriverpero no estoy seguro de cómo, entonces, ¿alguien puede decirme cómo haría esto?

30 answers

388
Saurabh Gaur 2016-10-24 13:16.

selenium.common.exceptions.WebDriverException: Mensaje: el ejecutable 'geckodriver' debe estar en PATH.

En primer lugar, deberá descargar el último ejecutable geckodriver desde aquí para ejecutar el último Firefox con Selenium

En realidad, los enlaces del cliente de Selenium intentan localizar el geckodriverejecutable del sistema PATH. Deberá agregar el directorio que contiene el ejecutable a la ruta del sistema.

  • En los sistemas Unix, puede hacer lo siguiente para agregarlo a la ruta de búsqueda de su sistema, si está usando un shell compatible con Bash:

      export PATH=$PATH:/path/to/directory/of/executable/downloaded/in/previous/step
    
  • En Windows, deberá actualizar la variable de sistema Path para agregar la ruta completa del directorio al geckodriver ejecutable manualmente o en la línea de comandos ** (no olvide reiniciar su sistema después de agregar geckodriver ejecutable en el sistema PATH para que surta efecto) **. El principio es el mismo que en Unix.

Ahora puede ejecutar su código de la misma manera que lo hace a continuación:

from selenium import webdriver

browser = webdriver.Firefox()

selenium.common.exceptions.WebDriverException: Mensaje: Ubicación binaria del navegador esperada, pero no se puede encontrar el binario en la ubicación predeterminada, no se proporciona la capacidad 'moz: firefoxOptions.binary' y no se establece ningún indicador binario en la línea de comandos

La excepción indica claramente que ha instalado Firefox en otra ubicación mientras Selenium intenta encontrar Firefox y ejecutarlo desde la ubicación predeterminada, pero no pudo encontrarlo. Debe proporcionar explícitamente la ubicación binaria instalada de Firefox para iniciar Firefox como se muestra a continuación:

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('path/to/installed firefox binary')
browser = webdriver.Firefox(firefox_binary=binary)

https://github.com/mozilla/geckodriver/releases

Para windonws: descargue el archivo de Github, luego extráigalo y péguelo en el archivo de Python, funcionará conmigo.

https://github.com/mozilla/geckodriver/releases

para mí, mi ruta es: C: \ Users \ MYUSERNAME \ AppData \ Local \ Programs \ Python \ Python39

179
Nesa 2017-02-09 09:45.

Esto me lo resolvió.

from selenium import webdriver
driver = webdriver.Firefox(executable_path=r'your\path\geckodriver.exe')
driver.get('http://inventwithpython.com')
129
Andrea Perdicchia 2016-12-03 02:09.

Estos pasos me solucionaron en Ubuntu y Firefox 50.

  1. Descarga geckodriver

  2. Copiar geckodriver a la carpeta /usr/local/bin

No es necesario agregar:

firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
firefox_capabilities['binary'] = '/usr/bin/firefox'
browser = webdriver.Firefox(capabilities=firefox_capabilities)
35
Anthon 2016-12-30 22:23.

La respuesta de @saurabh resuelve el problema, pero no explica por qué Automatizar las cosas aburridas con Python no incluye esos pasos.

Esto se debe a que el libro se basa en Selenium 2.xy el controlador de Firefox para esa serie no necesita el controlador Gecko. La interfaz Gecko para controlar el navegador no estaba disponible cuando Selenium se estaba desarrollando.

La última versión de la serie Selenium 2.x es 2.53.6 (consulte, por ejemplo, [estas respuestas] [2], para una vista más fácil de las versiones).

La [página de la versión 2.53.6] [3] no menciona a Gecko en absoluto. Pero desde la versión 3.0.2 la documentación [declara explícitamente] [4] es necesario instalar el controlador Gecko.

Si después de una actualización (o instalar en un nuevo sistema), su software que funcionó bien antes (o en su sistema anterior) ya no funciona y tiene prisa, ancle la versión de Selenium en su virtualenv haciendo

pip install selenium==2.53.6

pero, por supuesto, la solución a largo plazo para el desarrollo es configurar un nuevo virtualenv con la última versión de selenium, instalar el controlador Gecko y probar si todo sigue funcionando como se esperaba.

Pero el aumento de la versión principal podría introducir otros cambios de API que no están cubiertos en su libro, por lo que es posible que desee seguir con el Selenium anterior, hasta que esté lo suficientemente seguro de que puede corregir cualquier discrepancia entre el API de Selenium 2 y Selenium 3 usted mismo.

[2]: https://stackoverflow.com/a/40746017/1307905 ) [3]: https://pypi.python.org/pypi/selenium/2.53.6 [4]: https: //pypi.python .org / pypi / selenium # drivers

29
roskakori 2017-09-04 04:09.

En macOS con Homebrew ya instalado, simplemente puede ejecutar el comando Terminal

$ brew install geckodriver

Debido a que homebrew ya extendió el, PATHno es necesario modificar ningún script de inicio.

20
Ripon Al Wasim 2017-07-22 03:32.

Para configurar geckodriver para Selenium Python:

Necesita establecer la ruta geckodriver con FirefoxDriver como el siguiente código:

self.driver = webdriver.Firefox(executable_path = 'D:\Selenium_RiponAlWasim\geckodriver-v0.18.0-win64\geckodriver.exe')

Descargue geckodriver para su sistema operativo adecuado (desde https://github.com/mozilla/geckodriver/releases ) → Extraerlo en una carpeta de su elección → Configure la ruta correctamente como se mencionó anteriormente.

Estoy usando Python 3.6.2 y Selenium WebDriver 3.4.3 en Windows 10.

Otra forma de configurar geckodriver:

i) Simplemente pegue la geckodriver.exe bajo / Python / Scripts / (en mi caso la carpeta fue: C:\Python36\Scripts)
ii) Ahora escribir el código simple de la siguiente manera:

self.driver = webdriver.Firefox()
20
Navarasu 2019-11-07 00:23.

Veo que las discusiones todavía hablan sobre la antigua forma de configurar geckodriver descargando el binario y configurando la ruta manualmente.

Esto se puede hacer automáticamente usando webdriver-manager

pip install webdriver-manager

Ahora el código anterior en la pregunta funcionará simplemente con el siguiente cambio,

from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager

driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
19
Rodolfo Alvarez 2018-06-27 00:12.

Si está usando Anaconda , todo lo que tiene que hacer es activar su entorno virtual y luego instalar geckodriver usando el siguiente comando :

    conda install -c conda-forge geckodriver
14
jmunsch 2019-06-14 06:22.

Ubuntu 18.04 + y la versión más reciente de geckodriver

Esto también debería funcionar para otras variedades * nix.

export GV=v0.27.0
wget "https://github.com/mozilla/geckodriver/releases/download/$GV/geckodriver-$GV-linux64.tar.gz"
tar xvzf geckodriver-$GV-linux64.tar.gz
chmod +x geckodriver
sudo cp geckodriver /usr/local/bin/

Para Mac, actualice a:

geckodriver-$GV-macos.tar.gz
12
Jalles10 2017-10-23 13:16.

¡La forma más sencilla para Windows!

Descargar la última versión de geckodriverdesde aquí . Agregue el archivo geckodriver.exe al directorio de Python (o cualquier otro directorio que ya estéPATH ). Esto debería resolver el problema (se probó en Windows 10).

8
Umang Sardesai 2017-02-09 10:33.

Pasos para Mac

La solución simple es descargar GeckoDriver y agregarlo a su sistema PATH. Puede utilizar cualquiera de los dos enfoques:

Método corto

  1. Descarga y descomprime Geckodriver .

  2. Mencione la ruta al iniciar el controlador:

     driver = webdriver.Firefox(executable_path='/your/path/to/geckodriver')
    

Método largo

  1. Descarga y descomprime Geckodriver .

  2. Abierta .bash_profile. Si no ha creado aún, puede hacerlo utilizando el comando: touch ~/.bash_profile. Luego ábrelo usando:open ~/.bash_profile

  3. Teniendo en cuenta que el archivo GeckoDriver está presente en su carpeta de Descargas, puede agregar las siguientes líneas al .bash_profilearchivo:

     PATH="/Users/<your-name>/Downloads/geckodriver:$PATH"
     export PATH
    

Con esto, está agregando la ruta a GeckoDriver a su System PATH. Esto le dice al sistema dónde se encuentra GeckoDriver al ejecutar sus scripts de Selenium.

  1. Guarde .bash_profiley fuerce su ejecución. Esto carga los valores inmediatamente sin tener que reiniciar. Para hacer esto, puede ejecutar el siguiente comando:

source ~/.bash_profile

  1. Eso es. ¡ Listo ! Puede ejecutar el script Python ahora.
8
Snidhi Sofpro 2018-04-16 21:14.

Algunas aportaciones / aclaraciones adicionales para los futuros lectores de este hilo:

Lo siguiente es suficiente como resolución para Windows 7, Python 3.6 y Selenium 3.11:

Selenium usando Python: el ejecutable de Geckodriver debe estar en PATH para otra respuesta para Unix también es aplicable a Windows; Se puede evitar jugar con la variable de entorno PATH a nivel de Windows y reiniciar el sistema de Windows.

(1) Descargue geckodriver (como se describe en este hilo anteriormente) y coloque el geckdriver.exe (descomprimido) en X: \ Folder \ of \ your \ choice

(2) Ejemplo de código Python:

import os;
os.environ["PATH"] += os.pathsep + r'X:\Folder\of\your\choice';

from selenium import webdriver;
browser = webdriver.Firefox();
browser.get('http://localhost:8000')
assert 'Django' in browser.title

Notas: (1) El código anterior puede tardar unos 10 segundos en abrir el navegador Firefox para la URL especificada. (2) La consola de Python mostraría el siguiente error si no hay ningún servidor ejecutándose en la URL especificada o sirviendo una página con el título que contiene la cadena 'Django': selenium.common.exceptions.WebDriverException: Mensaje: Página de error alcanzada: acerca de : neterror? e = connectionFailure & u = http% 3A // localhost% 3A8000 / & c = UTF-8 & f = regular & d = Firefox% 20can% E2% 80% 9

5
Sabrina 2020-09-04 03:55.

geckodriver no está instalado por defecto.

$ geckodriver

Command 'geckodriver' not found, but it can be installed with:

sudo apt install firefox-geckodriver

$

El siguiente comando no solo lo instala, sino que también lo coloca en el ejecutable PATH.

sudo apt install firefox-geckodriver

El problema se resuelve con un solo paso. Tuve exactamente el mismo error que tú y desapareció tan pronto como lo instalé. Adelante y pruebalo.

$ which geckodriver
/usr/bin/geckodriver
$
$ geckodriver
1337    geckodriver    INFO    Listening on 127.0.0.1:4444
^C
4
Max Malysh 2020-02-01 09:18.

Considere instalar un Firefox en contenedor:

docker pull selenium/standalone-firefox
docker run --rm -d -p 5555:4444 --shm-size=2g selenium/standalone-firefox

Conéctese usando webdriver.Remote:

driver = webdriver.Remote('http://localhost:5555/wd/hub', DesiredCapabilities.FIREFOX)
driver.set_window_size(1280, 1024)
driver.get('https://toolbox.googleapps.com/apps/browserinfo/')
driver.save_screenshot('info.png')
4
JustASteve 2016-12-20 11:38.

Es realmente bastante triste que ninguno de los libros publicados sobre Selenium / Python y la mayoría de los comentarios sobre este tema a través de Google no expliquen claramente la lógica de la ruta para configurar esto en Mac (¡¡¡todo es Windows !!!!). Todos los videos de YouTube se recogen en el "después" de que tiene la configuración de ruta (en mi mente, ¡la salida más barata!). Entonces, para los maravillosos usuarios de Mac, use lo siguiente para editar sus archivos de ruta Bash:

touch ~/.bash_profile; open ~/.bash_profile*

Luego agregue una ruta algo como esto ...

# Setting PATH for geckodriver
PATH=“/usr/bin/geckodriver:${PATH}”
export PATH

# Setting PATH for Selenium Firefox
PATH=“~/Users/yourNamePATH/VEnvPythonInterpreter/lib/python2.7/site-packages/selenium/webdriver/firefox/:${PATH}”
export PATH

# Setting PATH for executable on Firefox driver
PATH=“/Users/yournamePATH/VEnvPythonInterpreter/lib/python2.7/site-packages/selenium/webdriver/common/service.py:${PATH}”
export PATH*

Esto funcionó para mí. Mi preocupación es cuándo comenzará la comunidad de Selenium Windows a jugar el juego real e incluirá a los usuarios de Mac en su arrogante membresía del club.

4
Roochiedoor 2017-01-07 04:26.

De hecho, descubrí que puedes usar el último geckodriver sin ponerlo en la ruta del sistema. Actualmente estoy usando

https://github.com/mozilla/geckodriver/releases/download/v0.12.0/geckodriver-v0.12.0-win64.zip

Firefox 50.1.0

Python 3.5.2

Selenio 3.0.2

Windows 10

Estoy ejecutando un VirtualEnv (que administro usando PyCharm , y supongo que usa Pip para instalar todo).

En el siguiente código, puedo usar una ruta específica para el geckodriver usando el parámetro ejecutable_path (descubrí esto al echar un vistazo en Lib \ site-packages \ selenium \ webdriver \ firefox \ webdriver.py). Tenga en cuenta que tengo la sospecha de que el orden de los argumentos de los parámetros al llamar al controlador web es importante, por lo que el archivo ejecutable_path es el último en mi código (la penúltima línea en el extremo derecho).

También puede notar que utilizo un perfil de Firefox personalizado para solucionar el problema sec_error_unknown_issuer con el que se encontrará si el sitio que está probando tiene un certificado que no es de confianza. Consulte ¿Cómo deshabilitar la advertencia de conexión no confiable de Firefox usando Selenium?

Después de la investigación, se descubrió que el controlador Marionette está incompleto y aún en progreso, y no iba a funcionar ninguna cantidad de configuración de diversas capacidades u opciones de perfil para descartar o configurar certificados. Así que fue más fácil utilizar un perfil personalizado.

De todos modos, aquí está el código sobre cómo conseguí que el geckodriver funcionara sin estar en el camino:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True

#you probably don't need the next 3 lines they don't seem to work anyway
firefox_capabilities['handleAlerts'] = True
firefox_capabilities['acceptSslCerts'] = True
firefox_capabilities['acceptInsecureCerts'] = True

# In the next line I'm using a specific Firefox profile because
# I wanted to get around the sec_error_unknown_issuer problems with the new Firefox and Marionette driver
# I create a Firefox profile where I had already made an exception for the site I'm testing
# see https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles#w_starting-the-profile-manager

ffProfilePath = 'D:\Work\PyTestFramework\FirefoxSeleniumProfile'
profile = webdriver.FirefoxProfile(profile_directory=ffProfilePath)
geckoPath = 'D:\Work\PyTestFramework\geckodriver.exe'
browser = webdriver.Firefox(firefox_profile=profile, capabilities=firefox_capabilities, executable_path=geckoPath)
browser.get('http://stackoverflow.com')
3
Edgar N 2017-07-15 02:33.

Estoy usando Windows 10 y esto funcionó para mí:

  1. Descarga geckodriver desde aquí . Descargue la versión correcta para la computadora que está usando.
  2. Descomprima el archivo que acaba de descargar y corte / copie el archivo ".exe" que contiene
  3. Navegue a C: {su carpeta raíz de Python}. El mío era C: \ Python27. Pegue el archivo geckodriver.exe en esta carpeta.
  4. Reinicie su entorno de desarrollo.
  5. Intente ejecutar el código nuevamente. Debería funcionar ahora.
2
Peter Graham 2017-04-20 05:21.

Selenium responde a esta pregunta en su archivo DESCRIPTION.rst :

Controladores
=======

Selenium requiere un controlador para interactuar con el navegador elegido. Firefox, por ejemplo, requiere geckodriver <https://github.com/mozilla/geckodriver/releases>_, que debe instalarse antes de que se puedan ejecutar los ejemplos siguientes. Asegúrese de que esté en su PATH, por ejemplo, colóquelo en /usr/bino /usr/local/bin.

Si no sigue este paso, obtendrá un error `selenium.common.exceptions.WebDriverException: Mensaje: el ejecutable 'geckodriver' debe estar en PATH.

Básicamente, simplemente descargue el geckodriver, descomprímalo y mueva el ejecutable a su carpeta / usr / bin .

2
Ghanem 2019-03-20 08:02.

Para usuarios de Windows

Use el código original tal como está:

from selenium import webdriver
browser = webdriver.Firefox()
driver.get("https://www.google.com")

Luego descargue el controlador de: mozilla / geckodriver

Colóquelo en una ruta fija (permanentemente) ... Como ejemplo, lo puse en:

C: \ Python35

Luego vaya a las variables de entorno del sistema. En la cuadrícula de "Variables del sistema" busque la variable Ruta y agregue:

; C: \ Python35 \ geckodriver

geckodriver, no geckodriver.exe .

2
InLaw 2019-10-10 04:29.
from webdriverdownloader import GeckoDriverDownloader # vs ChromeDriverDownloader vs OperaChromiumDriverDownloader
gdd = GeckoDriverDownloader()
gdd.download_and_install()
#gdd.download_and_install("v0.19.0")

Esto le dará la ruta a su gekodriver.exe en Windows.

from selenium import webdriver
driver = webdriver.Firefox(executable_path=r'C:\\Users\\username\\\bin\\geckodriver.exe')
driver.get('https://www.amazon.com/')
2
apet 2019-12-06 21:15.

Si usa un entorno virtual y Windows 10 (tal vez sea lo mismo para otros sistemas), solo necesita poner geckodriver.exe en la siguiente carpeta en el directorio de su entorno virtual:

... \ my_virtual_env_directory \ Scripts \ geckodriver.exe

2
Wolf 2020-07-16 12:37.

Hay tantas soluciones aquí, y la mayoría de ellas todavía usan formas manuales descargando el paquete manualmente.

La solución más sencilla es en realidad Selenium usando Python: el ejecutable de Geckodriver debe estar en PATH .

Aquí está el ejemplo; y soluciona el problema rápidamente.

  1. Descargue e instale el paquete con pip

    Python -m pip instalar webdriver-manager

Ejemplo

[email protected]:~$ python -m pip install webdriver-manager
Collecting webdriver-manager
  Using cached https://files.pythonhosted.org/packages/9c/6c/b52517f34e907fef503cebe26c93ecdc590d0190b267d38a251a348431e8/webdriver_manager-3.2.1-py2.py3-none-any.whl
 ... output truncated ...
Installing collected packages: configparser, colorama, crayons, certifi, chardet, urllib3, idna, requests, webdriver-manager
Successfully installed certifi-2020.6.20 chardet-3.0.4 colorama-0.4.3 configparser-5.0.0 crayons-0.3.1 idna-2.10 requests-2.24.0 urllib3-1.25.9 webdriver-manager-3.2.1
[email protected]:~$
  1. Ejecútelo en el shell de Python
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager

driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())

Ejemplo

[email protected]:~$ python
Python 3.7.5 (default, Nov  7 2019, 10:50:52)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> from selenium import webdriver
>>> from webdriver_manager.firefox import GeckoDriverManager
>>>
>>> driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
[WDM] - There is no [linux64] geckodriver for browser  in cache
[WDM] - Getting latest mozilla release info for v0.26.0
[WDM] - Trying to download new driver from https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz
[WDM] - Driver has been saved in cache [/home/wolf/.wdm/drivers/geckodriver/linux64/v0.26.0]
>>>
  1. El navegador web, que en este caso es Firefox, estará abierto.

  2. Problema resuelto. ¡¡¡Eso es!!!

  3. Nota adicional: si observa el registro anterior, geckodriverse descargó automáticamente https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gzy se guardó en el directorio local que se encuentra en/home/wolf/.wdm/drivers/geckodriver/linux64/v0.26.0

  4. También puede copiar este binario y ponerlo en cualquiera de sus directorios ejecutables que se pueden obtener desde el echo $PATHcomando.

P.ej,

cp /home/$(whoami)/.wdm/drivers/geckodriver/linux64/v0.26.0/geckodriver /home/$(whoami)/.local/bin/

Luego, probemos el código de muestra en https://pypi.org/project/selenium/

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')
  1. Eso es.
1
Nathan Gisvold 2017-02-28 10:10.

En Raspberry Pi tuve que crear desde el controlador ARM y configurar el geckodriver y la ruta de inicio de sesión:

sudo nano /usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py

def __init__(self, firefox_profile=None, firefox_binary=None,
             timeout=30, capabilities=None, proxy=None,
             executable_path="/PATH/gecko/geckodriver",                     
firefox_options=None,
             log_path="/PATH/geckodriver.log"):
1
Olesya M 2020-04-21 14:36.

Para mí fue suficiente con instalarlo geckodriveren el mismo entorno:

$ brew install geckodriver

Y el código no se cambió:

from selenium import webdriver
browser = webdriver.Firefox()
1
Tanmoy Bhowmick 2020-07-23 06:09.

Puede resolver este problema usando un comando simple si está en Linux

  1. Primero, descargue ( https://github.com/mozilla/geckodriver/releases ) y extraiga el archivo ZIP

  2. Abra la carpeta extraída

  3. Abra el terminal desde la carpeta (donde geckodriverse encuentra el archivo después de la extracción)

  4. Ahora ejecute este sencillo comando en su terminal para copiar el geckodriver en la carpeta correcta:

     sudo cp geckodriver /usr/local/bin
    
0
do01 2017-02-16 11:59.

En macOS v10.12.1 (Sierra) y Python 2.7.10, esto me funciona:

def download(url):
    firefox_capabilities = DesiredCapabilities.FIREFOX
    firefox_capabilities['marionette'] = True
    browser = webdriver.Firefox(capabilities=firefox_capabilities,
                                executable_path=r'/Users/Do01/Documents/crawler-env/geckodriver')
    browser.get(url)
    return browser.page_source
0
jackotonye 2017-08-18 05:56.

Visite Gecko Driver y obtenga la URL del controlador Gecko en la sección de Descargas .

Clona este repositorio: https://github.com/jackton1/script_install.git

cd script_install

correr

./installer --gecko-driver https://github.com/mozilla/geckodriver/releases/download/v0.18.0/geckodriver-v0.25.0-linux64.tar.gz
0
Bhavya Ghai 2017-12-13 15:48.

Estoy usando Windows 10 y Anaconda 2. Intenté configurar la variable de ruta del sistema, pero no funcionó. Luego simplemente agregué el archivo geckodriver.exe a la carpeta Anaconda 2 / Scripts y todo funciona muy bien ahora.

Para mi el camino fue:

C:\Users\Bhavya\Anaconda2\Scripts
0
Russ Thomas 2019-04-28 17:17.

Si desea agregar las rutas del controlador en Windows 10:

  1. Haga clic derecho en el icono "Esta PC" y seleccione "Propiedades"

  2. Haga clic en "Configuración avanzada del sistema"

  3. Haga clic en "Variables de entorno" en la parte inferior de la pantalla.

  4. En la sección "Variables de usuario", resalte "Ruta" y haga clic en "Editar".

  5. Agregue las rutas a sus variables haciendo clic en "Nuevo" y escribiendo la ruta del controlador que está agregando y presionando enter.

  6. Una vez que haya terminado de ingresar en la ruta, haga clic en "Aceptar"

  7. Siga haciendo clic en "Aceptar" hasta que haya cerrado todas las pantallas

0
Wen 2019-11-19 21:42.
  1. Asegúrese de tener la versión correcta del controlador ( geckodriver), x86 o 64.
  2. Asegúrese de comprobar el entorno adecuado. Por ejemplo, el trabajo se ejecuta en un contenedor Docker, mientras que el entorno se verifica en el sistema operativo host.

MORE COOL STUFF

La estrella de HGTV, Christina Hall, revela que tiene 'envenenamiento por mercurio y plomo' probablemente por voltear 'casas asquerosas'

La estrella de HGTV, Christina Hall, revela que tiene 'envenenamiento por mercurio y plomo' probablemente por voltear 'casas asquerosas'

La estrella de HGTV, Christina Hall, revela que le diagnosticaron envenenamiento por mercurio y plomo, probablemente debido a su trabajo como manipuladora de casas.

La estrella de 'Love Is Blind' Brennon Lemieux responde a los cargos de violencia doméstica

La estrella de 'Love Is Blind' Brennon Lemieux responde a los cargos de violencia doméstica

Recientemente salió a la luz un informe policial que acusa a la estrella de 'Love Is Blind', Brennon, de violencia doméstica. Ahora, Brennon ha respondido a los reclamos.

Wynonna Judd se dio cuenta de que ahora es la matriarca de la familia Judd en un momento festivo de pánico

Wynonna Judd se dio cuenta de que ahora es la matriarca de la familia Judd en un momento festivo de pánico

Conozca cómo Wynonna Judd se dio cuenta de que ahora es la matriarca de la familia mientras organizaba la primera celebración de Acción de Gracias desde que murió su madre, Naomi Judd.

Experto en lenguaje corporal explica los 'paralelos' entre Kate Middleton y la princesa Diana

Experto en lenguaje corporal explica los 'paralelos' entre Kate Middleton y la princesa Diana

Descubra por qué un destacado experto en lenguaje corporal cree que es fácil trazar "tales paralelismos" entre la princesa Kate Middleton y la princesa Diana.

Los láseres arrojan luz sobre por qué necesita cerrar la tapa antes de descargar

Los láseres arrojan luz sobre por qué necesita cerrar la tapa antes de descargar

Los inodoros arrojan columnas de aerosol invisibles con cada descarga. ¿Como sabemos? La prueba fue capturada por láseres de alta potencia.

The Secrets of Airline Travel Quiz

The Secrets of Airline Travel Quiz

Air travel is far more than getting from point A to point B safely. How much do you know about the million little details that go into flying on airplanes?

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

¿Caduca el repelente de insectos?

¿Caduca el repelente de insectos?

¿Sigue siendo efectivo ese lote de repelente de insectos que te quedó del verano pasado? Si es así, ¿por cuánto tiempo?

Se revela la estatua de Godzilla más nueva de Tokio

Se revela la estatua de Godzilla más nueva de Tokio

Anteriormente, Kotaku informó que un hotel Godzilla se estaba abriendo en Tokio este abril. Junto al hotel, estaba programada la aparición de una enorme cabeza de 'Zilla, pero todo lo que hemos visto fueron imágenes conceptuales computarizadas.

El alcalde de Chicago realmente quiere que Elon Musk perfore un túnel debajo de la ciudad

El alcalde de Chicago realmente quiere que Elon Musk perfore un túnel debajo de la ciudad

Foto: Getty Desde que lanzó The Boring Company hace un año, Elon Musk ha mencionado varios sitios de construcción posibles para el negocio de perforación de túneles y ha descartado una vaga referencia a una aprobación gubernamental "verbal" para un túnel Hyperloop que conecta la ciudad de Nueva York y Washington. , CC. Pero ahora sabemos que al menos un alcalde quiere que Musk perfore un agujero debajo de su ciudad.

Ponle una tapa. En realidad, ponle una tapa a todo. Consigue 12 tapas de cocina elásticas de silicona por $14. [Exclusivo]

Ponle una tapa. En realidad, ponle una tapa a todo. Consigue 12 tapas de cocina elásticas de silicona por $14. [Exclusivo]

Tapas elásticas de silicona de Tomorrow's Kitchen, paquete de 12 | $14 | Amazonas | Código promocional 20OFFKINJALids son básicamente los calcetines de la cocina; siempre perdiéndose, dejando contenedores huérfanos que nunca podrán volver a cerrarse. Pero, ¿y si sus tapas pudieran estirarse y adaptarse a todos los recipientes, ollas, sartenes e incluso frutas en rodajas grandes que sobran? Nunca más tendrás que preocuparte por perder esa tapa tan específica.

Cuéntanos tus mejores trucos de Washington, DC

Cuéntanos tus mejores trucos de Washington, DC

Hemos pirateado algunas ciudades industriales en esta columna, como Los Ángeles y Las Vegas. Ahora es el momento de una ciudad militar-industrial-compleja.

Patinaje artístico de EE. UU. 'frustrado' por falta de decisión final en evento por equipos, pide una decisión justa

Patinaje artístico de EE. UU. 'frustrado' por falta de decisión final en evento por equipos, pide una decisión justa

El equipo está a la espera de las medallas que ganó en los Juegos Olímpicos de Invierno de 2022 en Beijing, ya que se está resolviendo un caso de dopaje que involucra a la patinadora artística rusa Kamila Valieva.

Los compradores de Amazon dicen que duermen 'como un bebé mimado' gracias a estas fundas de almohada de seda que cuestan tan solo $ 10

Los compradores de Amazon dicen que duermen 'como un bebé mimado' gracias a estas fundas de almohada de seda que cuestan tan solo $ 10

Miles de compradores de Amazon recomiendan la funda de almohada de seda Mulberry, y está a la venta en este momento. La funda de almohada de seda viene en varios colores y ayuda a mantener el cabello suave y la piel clara. Compre las fundas de almohada de seda mientras tienen hasta un 46 por ciento de descuento en Amazon

Se busca al corredor de los Bengals Joe Mixon por orden de arresto emitida por presuntamente apuntar con un arma de fuego a una mujer

Se busca al corredor de los Bengals Joe Mixon por orden de arresto emitida por presuntamente apuntar con un arma de fuego a una mujer

El jueves se presentó una denuncia de delito menor amenazante agravado contra Joe Mixon.

Profesor de la Universidad de Purdue arrestado por presuntamente traficar metanfetamina y proponer favores sexuales a mujeres

Profesor de la Universidad de Purdue arrestado por presuntamente traficar metanfetamina y proponer favores sexuales a mujeres

El Departamento de Policía de Lafayette comenzó a investigar a un profesor de la Universidad de Purdue en diciembre después de recibir varias denuncias de un "hombre sospechoso que se acercaba a una mujer".

Concept Drift: el mundo está cambiando demasiado rápido para la IA

Concept Drift: el mundo está cambiando demasiado rápido para la IA

Al igual que el mundo que nos rodea, el lenguaje siempre está cambiando. Mientras que en eras anteriores los cambios en el idioma ocurrían durante años o incluso décadas, ahora pueden ocurrir en cuestión de días o incluso horas.

India me está pateando el culo

India me está pateando el culo

Estoy de vuelta por primera vez en seis años. No puedo decirte cuánto tiempo he estado esperando esto.

ℝ

“And a river went out of Eden to water the garden, and from thence it was parted and became into four heads” Genesis 2:10. ? The heart is located in the middle of the thoracic cavity, pointing eastward.

¿Merrick Garland le ha fallado a Estados Unidos?

Es más de la mitad de la presidencia de Biden. ¿Qué está esperando Merrick Garland?

¿Merrick Garland le ha fallado a Estados Unidos?

Creo, un poco tarde en la vida, en dar oportunidades a la gente. Generosamente.

Language