为什么 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中文网其他相关文章!