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:
export PATH=$PATH:/path/to/geckodriver
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!