使用 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 3
和Mozilla 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的主要内容,如果未能解决你的问题,请参考以下文章
如何在qaf applicaiton.properties中给FirefoxDrive和gecko驱动程序在firefox中执行
Selenium 使用 Java - 驱动程序可执行文件的路径必须由 webdriver.gecko.driver 系统属性设置