使用 Gecko 驱动程序运行我的 Selenium 脚本时出现“org.openqa.selenium.WebDriverException: Unsupported Marionette prot

Posted

技术标签:

【中文标题】使用 Gecko 驱动程序运行我的 Selenium 脚本时出现“org.openqa.selenium.WebDriverException: Unsupported Marionette protocol version 2”错误【英文标题】:"org.openqa.selenium.WebDriverException: Unsupported Marionette protocol version 2" error coming while running my Selenium Script with Gecko Driver 【发布时间】:2017-02-05 09:30:51 【问题描述】:

我刚开始学习 Selenium Java 。我正在使用Selenium Beta 3Mozilla Firefox v43 运行我的脚本。这是我的代码`

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class RegistrationFirefox 

    public static void main(String[] args) 
    
        System.setProperty("webdriver.gecko.driver", "C:\\SeleniumDrivers\\geckodriver.exe");
        WebDriver driver = new FirefoxDriver();

        driver.get("http://www.google.com");
        System.out.println(driver.getTitle());
        driver.manage().window().maximize();    
        driver.close();
        

最初我收到有关

的错误

“线程“main”中的异常 java.lang.IllegalStateException:路径 驱动程序可执行文件必须由 webdriver.gecko.driver 设置

安装geckodriver 后,这是我得到的错误(上面提到的代码)

线程“main”中的异常 org.openqa.selenium.WebDriverException:不支持的 Marionette 协议版本 2,需要 3(警告:服务器未提供任何堆栈跟踪信息) 命令持续时间或超时:5.26 秒

【问题讨论】:

【参考方案1】:

“线程“main”java.lang.IllegalStateException中的异常:驱动程序可执行文件的路径必须由webdriver.gecko.driver设置

实际上Selenium 3 支持使用Mozilla Firefox 使用geckodriver 可执行文件,就像其他驱动程序支持一样。这就是你得到这个例外的原因。

要解决此问题,您需要使用 webdriver.gecko.driver 将此可执行文件 geckodriver 设置为系统属性您已经这样做了。

线程“main”中的异常 org.openqa.selenium.WebDriverException:不支持 Marionette 协议版本 2,需要 3(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:5.26 秒

现在问题出在您的Mozilla 版本上。实际上可执行的geckodriver 支持Mozilla Firefox >= v47,这就是你得到这个异常的原因。

要解决此问题,您还需要升级您的 Mozilla Firefox >= v47

【讨论】:

以上是关于使用 Gecko 驱动程序运行我的 Selenium 脚本时出现“org.openqa.selenium.WebDriverException: Unsupported Marionette prot的主要内容,如果未能解决你的问题,请参考以下文章

在 WPF/C# 中嵌入 Firefox/Gecko

如何在qaf applicaiton.properties中给FirefoxDrive和gecko驱动程序在firefox中执行

Selenium 使用 Java - 驱动程序可执行文件的路径必须由 webdriver.gecko.driver 系统属性设置

如何将 gecko 可执行文件与 Selenium 一起使用

面罩在 Gecko 中不起作用

seleniu 元素定位与操作