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.