Rumah >Java >javaTutorial >Bagaimana untuk Menyelesaikan Ralat 'Path to Driver Executable' dalam Selenium dengan Java dan GeckoDriver?

Bagaimana untuk Menyelesaikan Ralat 'Path to Driver Executable' dalam Selenium dengan Java dan GeckoDriver?

Susan Sarandon
Susan Sarandonasal
2024-12-14 19:44:12182semak imbas

How to Resolve the

Selenium Menggunakan Java: Menyelesaikan Ralat "Path to Driver Executable" untuk GeckoDriver

Isunya:

Apabila melancarkan Mozilla, pengguna mungkin menghadapi ralat yang menyatakan bahawa "Laluan ke pemandu boleh laku mesti ditetapkan oleh harta sistem webdriver.gecko.driver."

Punca:

Ralat ini berlaku apabila klien Selenium tidak dapat mengesan GeckoDriver boleh laku dalam laluan sistem.

The Penyelesaian:

Untuk menyelesaikan isu ini, tambahkan direktori yang mengandungi GeckoDriver boleh laku pada laluan sistem.

  • Sistem Unix:

    export PATH=$PATH:/path/to/geckodriver
  • Tingkap Sistem:
    Kemas kini pembolehubah sistem Laluan untuk memasukkan laluan direktori penuh kepada boleh laku.

Pertimbangan Tambahan:

  • Untuk Selenium 3.0 dan lebih baru, Marionette didayakan secara lalai, menghapuskan keperluan untuk eksplisit konfigurasi.
  • Untuk menggunakan Marionette secara eksplisit dalam Selenium lama versi:

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)
  • Ruby:

    # 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)
  • Ruby:

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

Oleh mengikut langkah ini, anda boleh menyelesaikan ralat dan berjaya melancarkan Mozilla menggunakan Selenium dengan Java.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Path to Driver Executable' dalam Selenium dengan Java dan GeckoDriver?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn