為什麼Firefox 需要GeckoDriver
使用Selenium 自動化Web 應用程式時,您可能會注意到,雖然Google Chrome 和Internet Explorer 的驅動程式程式可以工作Firefox 毫不費力地提出了一個獨特的要求:GeckoDriver。為了理解背後的原因,讓我們深入研究一下技術細節。
什麼是 GeckoDriver?
GeckoDriver 是一個用 Go 編寫的遠端驅動程序,可實現 Selenium 測試之間的通訊和 Gecko,Mozilla Firefox 使用的渲染引擎。它為與 Firefox 內部 JavaScript 和 UI 元素互動提供了必要的橋樑。
為什麼需要 GeckoDriver?
對於 47.x 之前的 Firefox 版本(舊版瀏覽器)使用了驅動程式。然而,從 Firefox 47.x 開始,一項名為 Marionette 的現代化工作引入了一種用於自動化 Firefox 的新模型。 Marionette 用 GeckoDriver 取代了舊版驅動程序,引入了更有效率、更可靠的通訊機制。
為什麼 Chrome 和 IE 似乎開箱即用?
雖然看起來 Chrome 和 IE 可以無縫工作而無需額外的驅動程式配置,但事實通常並非如此。通常,您還需要下載適用於這些瀏覽器的驅動程式。但是,如果您在安裝過程中無意中設定了 Chrome 和 IE 的環境變量,Selenium WebDriver 可能能夠自動找到並利用必要的二進位。
為什麼 Firefox 特別需要 GeckoDriver?
與 Chrome 和 IE 不同,Firefox 對 Marionette 的採用使得 GeckoDriver 成為自動化。若要使用 Selenium 3.4.0 及更高版本,您需要下載最新穩定版本的 GeckoDriver 並使用 System.setProperty() 在程式碼中指定其路徑。
以上是為什麼 Selenium Automation 需要適用於 Firefox 的 GeckoDriver,而不適用於 Chrome 或 Internet Explorer?的詳細內容。更多資訊請關注PHP中文網其他相關文章!