Maison >Java >javaDidacticiel >Comment corriger l'erreur « Chemin d'accès à l'exécutable du pilote » lors de l'utilisation de Selenium avec Firefox ?
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" :
export PATH=$PATH:/path/to/geckodriver
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!