2016-10-18 5 views
11

Selenium 3.0 Firefx Драйвер не работает с org.openqa.selenium.SessionNotCreatedException: невозможно создать новый удаленный сеанс.Selenium 3.0 Firefx Драйвер не работает с org.openqa.selenium.SessionNotCreatedException: невозможно создать новый удаленный сеанс

System.setProperty("webdriver.gecko.driver", "..<Path>../geckodriver.exe"); 
capabilities = DesiredCapabilities.firefox(); 
capabilities.setCapability("marionette", true); 
driver = new FirefoxDriver(capabilities); 


Caused by: org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{marionette=true, [email protected]3a, browserName=firefox, moz:[email protected]3a, version=, platform=ANY}], required capabilities = Capabilities [{}] 
Build info: version: '3.0.0', revision: '350cf60', time: '2016-10-13 10:48:57 -0700' 
System info: host: 'D202540', ip: '10.22.19.193', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_45' 
Driver info: driver.version: FirefoxDriver 
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:91) 
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141) 
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601) 
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:241) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:259) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:247) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:242) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:135) 
+0

такая же ситуация на linux ищет решение – lese

+0

как вы его решили @lese? – Emna

+0

Эта проблема решена с использованием Selenium Webdriver 3.3.1 и Geckodricer v0.15 –

ответ

1

Вам необходимо скачать geckodriver. А затем установите

System.setProperty("webdriver.gecko.driver", "path\\to\\geckodriver.exe") 

Проверьте это link.

+0

Я устанавливаю свойство System, но все еще получаю сообщение об ошибке System.setProperty («webdriver.gecko.driver», «.. ../geckodriver .Exe"); возможностей = DesiredCapabilities.firefox(); возможностей.setCapability ("marionette", true); driver = новый FirefoxDriver (возможности); – KingArasan

+0

Как вы пишете путь к geckodriver.exe? –

+0

Формат пути должен быть «D: \\ work \\ project \\ geckodriver.exe». Это не сработает, если вы просто установите путь, как только что написал выше. –

0

Для пульта дистанционного управления вместо этого вы не должны использовать удаленный драйвер?

Но я также получаю подобную ошибку в конфигурации ниже:

System.setProperty("webdriver.gecko.driver", "src\\test\\resources\\webdrivers\\geckodriver.exe"); 

    port = ":4444"; 
    node_ip_address = "http://" + node_ip_address + port + "/wd/hub" ; 

    DesiredCapabilities capabilities = DesiredCapabilities.firefox(); 
    capabilities.setBrowserName("firefox"); 
    //capabilities.setVersion(""); 

    capabilities.setCapability("marionette", true); 
    driver = new RemoteWebDriver(new URL(node_ip_address), capabilities); 
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
    driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); 
0

У меня была такая же проблема, и установил ее с этим. Кажется, он не смог найти двоичный код firefox

capabilities.setCapability("firefox_binary","C:\\Program Files\\Mozilla Firefox\\firefox.exe"); 
0

Такая же проблема здесь. Было решено открыть Eclipse/Netbeans с правами администратора.

0

Это работало (Linux Mint, OpenSUSE thumbleweed, win7) с

libraryDependencies += "org.seleniumhq.selenium" % "selenium-firefox-driver" % "3.0.1"

geckodriver.exe -V geckodriver 0.13.0

if (System.getProperty("os.name").toLowerCase().contains("linux")) { 
    println("загружены настройки os.name=linux") 
    System.setProperty("webdriver.chrome.driver", "bin/chromedriver") 
    System.setProperty("webdriver.gecko.driver", "bin/geckodriver") 

}else{ 
    System.setProperty("webdriver.chrome.driver", "bin\\chromedriver.exe") 
    System.setProperty("webdriver.gecko.driver", "bin\\geckodriver.exe") 
    System.setProperty("webdriver.ie.driver", "bin\\IEDriverServer.exe") 
    System.setProperty("webdriver.edge.driver", "C:\\Program Files (x86)\\Microsoft Web Driver\\MicrosoftWebDriver.exe") 
    System.setProperty("webdriver.opera.driver", "c:\\XXX\\operadriver.exe") 

    System.setProperty("webdriver.opera.path","""C:\\Users\\user\\AppData\\Local\\Programs\\Opera""") 
    System.setProperty("webdriver.opera.binary","""C:\\Users\\user\\AppData\\Local\\Programs\\Opera\\launcher.exe""") 
    // 
} 

...

 case 
     "firefox" => { 
     println(" подгружаем Веб-драйвер: geckodriver") 
     //iniprofile = new ProfilesIni() 
     //ffprofile = iniprofile.getProfile("default") 
     dc = DesiredCapabilities.firefox() 
     dc.setCapability("gecko", true) // как выйдет драйвер, так и установить 
//  dc.setCapability(FirefoxDriver.PROFILE, ffprofile); //FirefoxDriver.PROFILE = “firefox_profile”; 
     remote = new FirefoxDriver(dc) 
     } 

но для Remotewebdriver-соединения, если предыдущая сессия не удалась, отменено или aborted мы получаем ошибку:

[info] XXXX.E011_WebDB6292 *** ABORTED *** 
[info] org.openqa.selenium.SessionNotCreatedException: Session is already started (WARNING: The server did not provide any stacktrace information) 
[info] Command duration or timeout: 0 milliseconds 
[info] Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:49:13 -0700' 
[info] System info: host: 'XXXX', ip: '172.16.4.125', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_11' 
[info] Driver info: driver.version: RemoteWebDriver 
[info] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
0

Сегодня я столкнулся с той же проблемой, и оказалось, что не является администратором моего ноутбука на самом деле проблемой. Чтобы устранить это

  • Установить в не админ, как Firefox (просто нужно нажать на нет, когда Windows, просят повышения привилегий)
  • Используйте путь ехе (для моей системы что-то вроде C:\\Users\\MyUserName\\AppData\\Local\\MozillaFirefox\\firefox.exe).

    Это действительно решило проблему.

5

этот вопрос решается с geckodriver 0,15 и селеном версии 3.3.

+0

Это заставило меня понять, что для geckodriver 0.17 вам нужен Selenium 3.4.0 –

Смежные вопросы