macos selenium firefox selenium-webdriver geckodriver

macos - WebDriverException: el ejecutable ''geckodriver'' debe estar en PATH aunque sea



selenium firefox (1)

Este mensaje de error ...

WebDriverException: ''geckodriver'' executable needs to be in PATH.

... implica que GeckoDriver no se encontró en la ubicación predeterminada esperada.

Solución

Como está utilizando el sistema basado en MAC , debe pasar la clave ejecutable_path junto con el valor que se refiere a la ruta absoluta del GeckoDriver de la siguiente manera:

from selenium import webdriver browser = webdriver.Firefox(executable_path=''/usr/local/bin/geckodriver'')

Consideración adicional

Asegúrese de lo siguiente:

  • GeckoDriver está presente en la ubicación especificada.
  • GeckoDriver tiene permiso ejecutable para usuarios no root.
  • Ejecute su @Test como usuario no root.

Intentando que Firefox se ejecute usando selenio en spyder. Mi código actual es

from selenium import webdriver import os os.environ["PATH"] += ":/usr/local/bin/geckodriver" browser = webdriver.Firefox()

y sigo teniendo este error:

runfile(''/Users/mherl/Dropbox/AnacondaProjects/MWS/MWSSpyder/test.py'', wdir=''/Users/mherl/Dropbox/AnacondaProjects/MWS/MWSSpyder'') Traceback (most recent call last): File "<ipython-input-1-3f3f96ccf515>", line 1, in <module> runfile(''/Users/mherl/Dropbox/AnacondaProjects/MWS/MWSSpyder/test.py'', wdir=''/Users/mherl/Dropbox/AnacondaProjects/MWS/MWSSpyder'') File "/Applications/anaconda3/lib/python3.6/site- packages/spyder/utils/site/sitecustomize.py", line 705, in runfile execfile(filename, namespace) File "/Applications/anaconda3/lib/python3.6/site- packages/spyder/utils/site/sitecustomize.py", line 102, in execfile exec(compile(f.read(), filename, ''exec''), namespace) File "/Users/mherl/Dropbox/AnacondaProjects/MWS/MWSSpyder/test.py", line 12, in <module> browser = webdriver.Firefox() File "/Applications/anaconda3/lib/python3.6/site- packages/selenium/webdriver/firefox/webdriver.py", line 152, in __init__ self.service.start() File "/Applications/anaconda3/lib/python3.6/site- packages/selenium/webdriver/common/service.py", line 83, in start os.path.basename(self.path), self.start_error_message) WebDriverException: ''geckodriver'' executable needs to be in PATH.

Aunque gekodriver está en esa carpeta.

También he intentado exportar la ruta a ~. / Bash_profile que se ve así en este momento.

Last login: Fri Apr 20 10:57:16 on ttys000 dhcp-54-85:~ mherl$ nano ./bash_profile dhcp-54-85:~ mherl$ nano .bash_profile GNU nano 2.0.6 File: .bash_profile Modified # Setting PATH for Python 3.6 # The original version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}" export PATH # Setting PATH for Python 3.6 # The original version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}" export PATH # added by Anaconda3 5.1.0 installer export PATH="/Applications/anaconda3/bin:$PATH" #added by mherl to show path to gekodriver export PATH=$PATH:/usr/local/bin/gekodriver

También tengo las rutas actuales establecidas en spyder:

/usr/local/bin /Users/mherl/Dropbox/AnacondaProjects/MWS/MWSSpyder

de los cuales gekodriver está en

/usr/local/bin

He buscado en todas partes y la mayoría de la gente dice que debería ejecutarse automáticamente si está en / usr / local / bin, pero aún así parece que no puede encontrarlo incluso cuando establezco explícitamente la ruta.

Esta es una Mac que ejecuta High Sierra si eso es importante.