WebDriverException: Mensaje: El ejecutable Geckodriver debe estar en el error PATH en Python
-
Use el archivo
geckodriver.exe
y agréguelo al sistemaRUTA
-
Utilice el parámetro
ruta_ejecutable
en la funciónwebdriver.Firefox()
-
Utilice el módulo
webdriver-manager
El paquete selenium
en Python puede automatizar tareas en un navegador web. Usando sus controladores web, podemos usar diferentes navegadores web como Google Chrome, Firefox y más.
Este tutorial discutirá el error Mensaje: el ejecutable 'geckodriver' debe estar en la RUTA
en Python.
El geckodriver
es un motor de navegador desarrollado por Mozilla que actúa como enlace entre Selenium y el navegador Firefox. Este error se produce cuando el controlador no está instalado correctamente o su ruta no se especifica correctamente.
Vea el código a continuación.
from selenium import webdriver
browser = webdriver.Firefox()
Producción :
WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
Analicemos ahora diferentes formas de resolver este error.
Use el archivo geckodriver.exe
y agréguelo al sistema RUTA
Selenium intenta identificar el ejecutable del controlador a partir de la variable de entorno del sistema PATH
. Podemos agregar la ruta ejecutable del geckodriver
a esta variable.
Primero, debemos descargar el ejecutable del controlador desde el sitio web oficial de Mozilla. Necesitamos agregar la ruta del directorio que contiene este ejecutable a la variable RUTA
discutida anteriormente.
La variable RUTA
se puede encontrar en el menú Variables de entorno
. Necesitamos hacer clic con el botón derecho en el icono Esta PC
, ir a Propiedades
y seleccionar la opción Configuración avanzada
para obtener este menú.
Los usuarios de Linux pueden copiar el archivo ejecutable directamente al directorio /usr/local/bin
.
Utilice el parámetro ruta_ejecutable
en la función webdriver.Firefox()
Usamos el constructor webdriver.Firefox()
para crear el objeto Driver
que puede abrir la ventana del navegador y realizar las tareas automatizadas. Podemos especificar la ruta del ejecutable geckodriver
dentro de esta función utilizando el parámetro executable_path
.
Por ejemplo:
from selenium import webdriver
driver = webdriver.Firefox(executable_path=r"user\pathofdriver\geckodriver.exe")
Los usuarios de Mac OS también pueden instalar el geckodriver
usando homebrew
. Se puede utilizar el siguiente comando.
brew install geckodriver
Después de la instalación, se muestra la ruta del controlador. Podemos copiar esta ruta, pegarla en la aplicación Finder
y hacer clic en Ir a la carpeta
.
Esto devolverá la ruta completa del controlador que se puede usar en el parámetro ruta_ejecutable
.
Utilice el módulo webdriver-manager
El módulo webdriver-manager
se introdujo para proporcionar algo de alivio en la gestión de los controladores web de diferentes navegadores.
Podemos usar las funciones GeckoDriverManager().install()
para instalar y usar el ejecutable para el geckodriver
. Esto debe especificarse en el parámetro executable_path
discutido anteriormente.
Vea el código a continuación.
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager
driver_object = webdriver.Firefox(executable_path=GeckoDriverManager().install())
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArtículo relacionado - Python Selenium
- Agregar Selenium Web Driver Esperar en Python
- Buscar elemento por texto usando Selenium en Python
- Cadenas de acción en Selenium Python
- Captura de pantalla con Selenium en Python
- Comprobar si el elemento existe usando Selenium Python
- Encuentra elementos con Selenium en Python
Artículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python