使用基于Mozilla的,基于Marionette的Geckodriver解决方案的主要优点是,它可用于Firefox
48及更高版本。Selenium项目提供和维护的旧版驱动程序不适用于Firefox 48或更高版本,并且永远不适用于那些版本的Firefox。
旧版驱动程序实现为Firefox扩展。当WebDriver启动Firefox时,此扩展名将安装在驱动程序使用的配置文件中。Firefox
48引入了两个禁用此浏览器扩展的新功能。第一个是所谓的“电解”功能,即多进程Firefox。电解改变了Selenium团队没有花时间完全理解扩展程序处理浏览器的方式。
第二个更重要的要求是,所有浏览器扩展都必须由Mozilla签名,然后才能允许它们加载。后一个功能已在Firefox中提供了多个版本,但从48开始,它不再被禁用。WebDriver浏览器扩展为Firefox浏览器引入了几个有效的安全问题,因此,Mozilla的安全团队不会对其进行签名。反过来,这使扩展程序无法使用,因此Selenium无法再与Firefox通信。首先由Mozilla开发和维护的基于Marionette的解决方案很受它们的青睐,可用于Firefox的自动化,因此承诺将继续与未来的版本一起使用。
因此,将Marionette与Firefox 48及更高版本一起使用的主要好处是它可以工作,而其他解决方案则不能。



