Maison > Java > javaDidacticiel > Comment corriger l'erreur « Chemin d'accès à l'exécutable du pilote » lors de l'utilisation de Selenium avec Firefox ?

Comment corriger l'erreur « Chemin d'accès à l'exécutable du pilote » lors de l'utilisation de Selenium avec Firefox ?

Mary-Kate Olsen
Libérer: 2024-12-19 21:08:11
original
176 Les gens l'ont consulté

How to Fix the

Selenium utilisant Java : résolution du problème du « chemin vers l'exécutable du pilote »

Lorsque vous essayez de lancer Mozilla à l'aide de Selenium, il est courant de rencontrer le erreur : "Le chemin d'accès à l'exécutable du pilote doit être défini par la propriété système webdriver.gecko.driver." Ce problème se pose car Selenium nécessite que l'emplacement de l'exécutable "geckodriver" soit défini pour qu'il puisse communiquer avec le navigateur.

Solution

La solution consiste à s'assurer que le le chemin système inclut le répertoire où se trouve l'exécutable "geckodriver" :

  • Unix Systèmes : Ajoutez le répertoire au chemin du système à l'aide de la commande suivante (shell compatible bash) :
export PATH=$PATH:/path/to/geckodriver
Copier après la connexion
  • Systèmes Windows : Mettez à jour le chemin variable système pour inclure le chemin complet du répertoire vers l'exécutable.

Configuration de Selenium pour Marionette

Pour utiliser Marionette, un pilote d'automatisation pour Firefox, mettez à jour les fonctionnalités souhaitées :

Java

Définissez la propriété système sur emplacement du geckodriver et initialisez le pilote en utilisant les capacités souhaitées :

System.setProperty("webdriver.gecko.driver", "path/to/geckodriver.exe");

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new MarionetteDriver(capabilities);
Copier après la connexion

Selenium 3

Utilisez simplement le FirefoxDriver par défaut sans aucune configuration supplémentaire.

.NET

Utilisez la classe FirefoxOptions :

var driver = new FirefoxDriver(new FirefoxOptions());
Copier après la connexion

Python

Importer le fichier requis modules et définissez les capacités :

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

caps = DesiredCapabilities.FIREFOX
caps["marionette"] = True
driver = webdriver.Firefox(capabilities=caps)
Copier après la connexion

Ruby

Définissez le chemin pour Firefox et activez Marionette :

require 'selenium-webdriver'

Selenium::WebDriver::Firefox::Binary.path = "/path/to/firefox"
driver = Selenium::WebDriver.for :firefox, marionette: true
Copier après la connexion

JavaScript (Node.js)

Définir les capacités de Marionnette :

const webdriver = require('selenium-webdriver');
const Capabilities = require('selenium-webdriver/lib/capabilities').Capabilities;

var capabilities = Capabilities.firefox();
capabilities.set('marionette', true);
var driver = new webdriver.Builder().withCapabilities(capabilities).build();
Copier après la connexion

De plus, pour une utilisation de RemoteWebDriver dans n'importe quelle langue :

Python

Définissez le paramètre souhaité capacités :

caps = DesiredCapabilities.FIREFOX
caps["marionette"] = True
driver = webdriver.Firefox(capabilities=caps)
Copier après la connexion

Ruby

Utiliser les capacités class:

caps = Selenium::WebDriver::Remote::Capabilities.firefox marionette: true, firefox_binary: "/path/to/firefox"
driver = Selenium::WebDriver.for :remote, desired_capabilities: caps
Copier après la connexion

Java

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new RemoteWebDriver(capabilities);
Copier après la connexion

.NET

DesiredCapabilities capabilities = DesiredCapabilities.Firefox();
capabilities.SetCapability("marionette", true);
var driver = new RemoteWebDriver(capabilities);
Copier après la connexion

En suivant ces étapes, vous peut résoudre le problème du « chemin d'accès à l'exécutable du pilote » et lancer avec succès Mozilla à l'aide de Selenium.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal