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
Pertimbangan Tambahan:
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!