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
Lepaskan: 2024-12-19 21:08:11
asal
144 orang telah melayarinya

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
Salin selepas log masuk
  • 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);
Salin selepas log masuk

Selenium 3

Hanya gunakan FirefoxDriver lalai tanpa sebarang konfigurasi tambahan.

.NET

Gunakan FirefoxOptions kelas:

var driver = new FirefoxDriver(new FirefoxOptions());
Salin selepas log masuk

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)
Salin selepas log masuk

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
Salin selepas log masuk

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();
Salin selepas log masuk

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)
Salin selepas log masuk

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
Salin selepas log masuk

Jawa

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new RemoteWebDriver(capabilities);
Salin selepas log masuk

.NET

DesiredCapabilities capabilities = DesiredCapabilities.Firefox();
capabilities.SetCapability("marionette", true);
var driver = new RemoteWebDriver(capabilities);
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan