Rumah >Java >javaTutorial >Bagaimana untuk Membetulkan Ralat 'Path to Driver Executable' Apabila Menggunakan Selenium dengan Firefox?

Bagaimana untuk Membetulkan Ralat 'Path to Driver Executable' Apabila Menggunakan Selenium dengan Firefox?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-19 21:08:11146semak imbas

How to Fix the

Selenium Menggunakan Java: Menyelesaikan Isu "Path to Driver Executable"

Apabila cuba melancarkan Mozilla menggunakan Selenium, adalah perkara biasa untuk menghadapi ralat: "Laluan ke pemacu boleh laku mesti ditetapkan oleh harta sistem webdriver.gecko.driver." Isu ini timbul kerana Selenium memerlukan lokasi boleh laku "geckodriver" ditetapkan supaya ia boleh berkomunikasi dengan penyemak imbas.

Penyelesaian

Penyelesaian melibatkan memastikan bahawa laluan sistem termasuk direktori di mana "geckodriver" boleh laku terletak:

  • Sistem Unix: Tambahkan direktori pada laluan sistem menggunakan arahan berikut (shell serasi bash):
export PATH=$PATH:/path/to/geckodriver
  • Sistem Windows: Kemas kini pembolehubah sistem Laluan untuk memasukkan laluan direktori penuh ke boleh laku.

Mengkonfigurasi Selenium untuk Marionette

Untuk menggunakan Marionette, pemacu automasi untuk Firefox, kemas kini keupayaan yang anda inginkan:

Java

Tetapkan sifat sistem kepada pemutar tokek lokasi dan mulakan pemacu menggunakan keupayaan yang diingini:

System.setProperty("webdriver.gecko.driver", "path/to/geckodriver.exe");

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

Selenium 3

Hanya gunakan FirefoxDriver lalai tanpa sebarang konfigurasi tambahan.

.NET

Gunakan FirefoxOptions kelas:

var driver = new FirefoxDriver(new FirefoxOptions());

Python

Import modul yang diperlukan dan tetapkan keupayaan:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

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

Ruby

Tetapkan laluan untuk Firefox dan dayakan Marionette:

require 'selenium-webdriver'

Selenium::WebDriver::Firefox::Binary.path = "/path/to/firefox"
driver = Selenium::WebDriver.for :firefox, marionette: true

JavaScript (Node.js)

Tetapkan keupayaan untuk Marionette:

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

Selain itu, untuk Penggunaan RemoteWebDriver dalam mana-mana bahasa:

Python

Tetapkan keupayaan yang diingini:

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

Ruby

Gunakan Keupayaan kelas:

caps = Selenium::WebDriver::Remote::Capabilities.firefox marionette: true, firefox_binary: "/path/to/firefox"
driver = Selenium::WebDriver.for :remote, desired_capabilities: caps

Jawa

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

Dengan mengikuti langkah ini, anda boleh menyelesaikan isu "laluan ke pemacu boleh laku" dan berjaya melancarkan Mozilla menggunakan Selenium.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Path to Driver Executable' Apabila Menggunakan Selenium dengan Firefox?. 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