Maison >Java >javaDidacticiel >Comment résoudre l'erreur « Chemin d'accès au pilote exécutable » dans Selenium avec Java et GeckoDriver ?

Comment résoudre l'erreur « Chemin d'accès au pilote exécutable » dans Selenium avec Java et GeckoDriver ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-14 19:44:12128parcourir

How to Resolve the

Selenium utilisant Java : résolution de l'erreur « Chemin d'accès à l'exécutable du pilote » pour GeckoDriver

Le problème :

Lors du lancement de Mozilla, les utilisateurs peuvent rencontrer une erreur indiquant que « Le chemin d'accès à l'exécutable du pilote doit être défini. par la propriété système webdriver.gecko.driver."

La cause :

Cette erreur se produit lorsque le client Selenium ne parvient pas à localiser l'exécutable GeckoDriver dans le chemin système.

La solution :

Pour résoudre ce problème, ajoutez le répertoire contenant l'exécutable GeckoDriver sur le chemin du système.

  • Systèmes Unix :

    export PATH=$PATH:/path/to/geckodriver
  • Systèmes Windows :
    Mettez à jour la variable système Path pour inclure le chemin complet du répertoire vers le exécutable.

Considérations supplémentaires :

  • Pour Selenium 3.0 et versions ultérieures, Marionette est activé par défaut, éliminant ainsi le besoin d'une configuration explicite.
  • Pour utiliser explicitement Marionette dans l'ancien Selenium versions :

Java :

// Set the system property for the GeckoDriver path
System.setProperty("webdriver.gecko.driver", "path/to/geckodriver.exe");

// Initialize the Marionette driver
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new MarionetteDriver(capabilities);
  • .NET :

    var driver = new FirefoxDriver(new FirefoxOptions());
  • Python :

    from selenium import webdriver
    
    # Set the desired capabilities
    caps = DesiredCapabilities.FIREFOX
    caps["marionette"] = True
    caps["binary"] = "/usr/bin/firefox"
    
    # Create the Firefox driver
    driver = webdriver.Firefox(capabilities=caps)
  • Rubis :

    # Selenium 3 uses Marionette by default
    driver = Selenium::WebDriver.for :firefox, marionette: true
  • JavaScript (Node.js) :

    const webdriver = require('selenium-webdriver');
    const Capabilities = require('selenium-webdriver/lib/capabilities').Capabilities;
    
    // Set the desired capabilities
    var capabilities = Capabilities.firefox();
    capabilities.set('marionette', true);
    
    // Create the Firefox driver
    var driver = new webdriver.Builder().withCapabilities(capabilities).build();

RemoteWebDriver :

  • Python :

    caps = DesiredCapabilities.FIREFOX
    caps["marionette"] = True
    
    driver = webdriver.Firefox(capabilities=caps)
  • Rubis :

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

Par en suivant ces étapes, vous pouvez résoudre l'erreur et lancer avec succès Mozilla en utilisant Selenium avec Java.

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