Selenium 2.53 與Firefox 47 的相容性
嘗試在Firefox 中使用WebDriver 時,可能會遇到錯誤:
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.
環境詳細資料:
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.1.0</version> </dependency>
WebDriverManager.firefoxdriver().setup();
原因和解決方案
不幸的是,Selenium WebDriver 2.53.0 與Firefox 47.0 不相容。處理 Firefox 瀏覽器的舊 WebDriver 元件 (FirefoxDriver) 正在逐步淘汰。從版本 3.0 開始,Selenium WebDriver 需要 geckodriver 二進位檔案來控制 Firefox 瀏覽器。要解決此問題,請下載Firefox 驅動程式(geckodriver) 並使用Java 系統將webdriver.gecko.driver 變數設定為其絕對路徑屬性:
或者,您可以利用WebDriverManager 程式庫來自動化此流程,這會根據您的作業系統下載適當的Marionette 二進位檔案並將其指派給系統屬性。在您的專案中包含以下依賴項:
然後,在使用WebDriver 之前執行以下行:附加說明附加說明附加說明附加說明 Marionette 是Firefox 瀏覽器自動化的未來,將取代WebDriver 3 和Firefox 48 。然而,目前(版本 0.9.0)其穩定性值得懷疑。詳情請參閱 Marionette 路線圖。 近期更新2016 年 6 月 30 日,Selenium WebDriver 2.53.1 發布,恢復 FirefoxDriver 與 Firefox 47.0.1 的兼容性.以上是為什麼 Selenium 2.53.0 與 Firefox 47.0 不相容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!