Selenium 2.53 Keserasian dengan Firefox 47
Apabila cuba menggunakan WebDriver dengan Firefox, ralat mungkin berlaku:
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.
Persekitaran Butiran:
Sebab dan Penyelesaian
Malangnya, Selenium WebDriver 2.53.0 tidak serasi dengan Firefox 47.0. Komponen WebDriver yang lebih lama yang mengendalikan pelayar Firefox (FirefoxDriver) sedang ditamatkan secara berperingkat. Bermula dari versi 3.0, Selenium WebDriver memerlukan binari pendorong tokek untuk mengawal penyemak imbas Firefox.
Untuk menyelesaikan isu ini, muat turun pemacu Firefox (pemandu tokek) dan tetapkan pembolehubah webdriver.gecko.driver kepada laluan mutlaknya menggunakan sistem Java properties:
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
Sebagai alternatif, anda boleh memanfaatkan perpustakaan WebDriverManager untuk mengautomasikan proses ini, yang memuat turun binari Marionette yang sesuai berdasarkan sistem pengendalian anda dan menyerahkannya kepada sifat sistem. Sertakan kebergantungan berikut dalam projek anda:
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.1.0</version> </dependency>
Kemudian, laksanakan baris berikut sebelum menggunakan WebDriver:
WebDriverManager.firefoxdriver().setup();
Nota Tambahan
Marionette ialah masa depan untuk automasi penyemak imbas Firefox, menggantikan WebDriver 3 dan Firefox 48 . Walau bagaimanapun, kestabilannya pada masa ini (versi 0.9.0) boleh dipersoalkan. Rujuk peta jalan Marionette untuk butiran.
Kemas Kini Terkini
Pada 30 Jun 2016, Selenium WebDriver 2.53.1 telah dikeluarkan, memulihkan keserasian FirefoxDriver dengan Firefox 47.0.1 .
Atas ialah kandungan terperinci Mengapa Selenium 2.53.0 Tidak Serasi dengan Firefox 47.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!