Java抛出异常:Selenium 3.4.0,Gecko驱动程序16.01,FF 53.01

Java抛出异常:Selenium 3.4.0,Gecko驱动程序16.01,FF 53.01,java,selenium,firefox,Java,Selenium,Firefox,运行时,java抛出以下异常: 线程“main”org.openqa.selenium.SessionNotCreatedException中出现异常:无法创建新的远程会话。所需功能=功能[{marionette=true,browserName=firefox,version=,platform=A。 我使用gecko驱动程序16.1。当我使用gecko 14.01时,它会一直导航到gmail页面,然后即使我设置了隐式等待,也无法找到元素 import java.util.concur

运行时,java抛出以下异常: 线程“main”org.openqa.selenium.SessionNotCreatedException中出现异常:无法创建新的远程会话。所需功能=功能[{marionette=true,browserName=firefox,version=,platform=A。 我使用gecko驱动程序16.1。当我使用gecko 14.01时,它会一直导航到gmail页面,然后即使我设置了隐式等待,也无法找到元素

    import java.util.concurrent.TimeUnit;
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.firefox.MarionetteDriver;
    import org.openqa.selenium.remote.DesiredCapabilities;
    public class login {
    public static void main(String[] args) {
        // Create a new instance of the Firefox driver
    System.setProperty("webdriver.gecko.driver","C:/Users/asdf/Desktop/selenium/gecko32/geckodriver.exe");
    DesiredCapabilities capabilities=DesiredCapabilities.firefox();
    capabilities.setCapability("marionette", true);
    WebDriver driver = new MarionetteDriver(capabilities);
        //WebDriver driver = new FirefoxDriver();
        //  Wait For Page To Load
        // Put a Implicit wait, this means that any search for elements on the page
    driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
        // Navigate to URL
    driver.get("https://mail.google.com/");
    driver.manage().window().maximize();
    //driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        // gmail login
    driver.findElement(By.xpath("//*[@id='identifierId']")).sendKeys("username");
    driver.findElement(By.id("next")).click();
    driver.findElement(By.id("Passwd")).sendKeys("password");

尝试使用最新版本的Firefox浏览器和gecko驱动程序。希望这有助于启动FirefoxDriver而不是木偶驱动程序

WebDriver driver = new FirefoxDriver(capabilities);

希望这对您有所帮助。谢谢。

以下是您问题的答案:

不同的原因,如<强> >代码>硒GECKORKER < /代码> <强>版本错配,悬空<强> >代码> GECKORKER < /代码> <强>实例和<强> >代码> OS > < /代码> < /强>。我建议您考虑以下步骤:

  • 任务管理器
    以手动/编程方式杀死所有悬空的
    geckodriver
    实例。如果可能,重新启动系统。如果需要,运行
    CCleaner
    ,清除系统中所有不需要的操作系统杂务
  • 从这里下载或下载
  • 从这里下载geckodriver v.0.16.1
  • 确保已安装最新的稳定GA版本的Mozilla Firefox
  • “代码> MarionetteDriver <代码>实现中止,您可以考虑使用<代码> FixFoxReals/Cult>实现。
  • 详细讨论了<代码> MarionetteDriver <代码> >代码> GECKORKORK/<代码>,您可以考虑查看./LI>
  • 以下是您自己的代码,经过一些小的调整后执行良好:

    package demo;
    
    import java.util.concurrent.TimeUnit;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.remote.DesiredCapabilities;
    
    public class Q44351100_SessionNotCreatedException 
    {
        public static void main(String[] args) 
        {
            System.setProperty("webdriver.gecko.driver","C:/your_directory/geckodriver.exe");
            DesiredCapabilities capabilities=DesiredCapabilities.firefox();
            capabilities.setCapability("marionette", true);
            WebDriver driver = new FirefoxDriver(capabilities);
            driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
            driver.get("https://mail.google.com/");
            driver.manage().window().maximize();
            driver.findElement(By.xpath("//*[@id='identifierId']")).sendKeys("username");
        }
    }
    

  • 如果这能回答您的问题,请告诉我。

    正如我所提到的,我正在使用最新的Firefox 53.0,最新的gecko 16.01使用geckodriver v0.16.1还可以将您的selenium版本升级到3.4.0是的,正如我在标题中提到的,我正在使用最新的firefoxdriver,而不是木偶驱动程序,我也没有按照您所说的那样做。我得到了这个异常:线程“main”org.openqa.selenium.SessionNotCreatedException中的异常:无法创建新的远程会话。所需的功能=功能[{marionette=true,firefoxOptions=org.openqa.selenium.firefox。FirefoxOptions@545997b1,browserName=firefox,moz:firefoxOptions=org.openqa.selenium.firefox。FirefoxOptions@545997b1,您是否收到任何有关此的错误消息…WebDriver=new FirefoxDriver();是的,同样的错误。正如大家所建议的,我使用最新的selenium和gecko v0.16.01。但是gecho 14一直工作到登录页面。但是它不能使用SendKeys。它在我的机器上工作。我确信我们需要使用firefox驱动程序而不是木偶。我使用的是selenium 3.2、firefox 13和gecko 0.14。我使用的是FF 53、selenium 3.4.0和gecko v 0.16.1.我也尝试了你的Seugestion,但仍然显示出相同的错误。我使用eclipse kepler和jdk 1.8。codeHii上没有发现错误!非常感谢详细的解决方案。我已经完成了所有工作,并尝试运行你的代码。它一直导航到gmail页面,但无法使用发送键和将用户名发送到字段。