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
Mary-Kate Olsenoriginal
2024-12-19 21:08:11143parcourir

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
  • 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);

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());

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)

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

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();

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)

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

Java

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new RemoteWebDriver(capabilities);

.NET

DesiredCapabilities capabilities = DesiredCapabilities.Firefox();
capabilities.SetCapability("marionette", true);
var driver = new RemoteWebDriver(capabilities);

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!

Déclaration:
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