Сеанс Firefox не запускается с использованием удаленного драйвера сетки селена - невозможно найти соответствующий набор возможностей

Java .version: '12.0.1'

Сервер Селена Информация о сборке: версия: '3.141.59'

версия Firefox = 68

версия Python = Python 3.7.2

Я пытаюсь запустить firefox на сетке селена и получаю следующую ошибку: selenium.common.exceptions.SessionNotCreatedException: Сообщение: невозможно найти соответствующий набор возможностей Информация о сборке: версия: '3.141.59', версия: 'e82be7d358', время: '2018-11-14T08:25:53' Системная информация: хост: '*****', ip: '******', имя os.name: 'Windows 8.1', архив os.arch: 'amd64', os.version: '6.3', java.version: '12.0.1' Информация о драйвере: driver.version: неизвестно

Вот как я настроил сетку:

java -jar selenium-server-standalone-3.141.59.jar -port 4444 -role hub

во втором окне cmd я инициирую узел Firefox, как это так

java -Dwebdriver.gecko.driver=C:\Selenium\geckodriver.exe -jar selenium-server-standalone-3.141.59.jar -port 5557 -role узел -browser "browserName=firefox,platform=WINDOWS,maxInstances=1"

Я попробовал несколько вариантов возможностей, включая использование более подробных как из файла json (список возможностей), так и в моем скрипте python для настройки узла firefox, но я все еще получаю ту же ошибку.

Это мой код скрипта Python:

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

cap = DesiredCapabilities.FIREFOX.copy()

cap['browserName'] = 'firefox'
cap['platform'] = "WINDOWS"

driver = webdriver.Remote(command_executor='http://localhost:4444/wd/hub',
                          desired_capabilities=cap)
driver.get("https://www.google.co.in/")
print(driver.title)
driver.quit()

Я также получаю удаленную ошибку трассировки стека, как это в моем окне cmd:

remote stacktrace: 
Stacktrace:
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0 (NativeConstructorAccessorImpl.java:-2)
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstanceWithCaller (Constructor.java:500)
    at java.lang.reflect.Constructor.newInstance (Constructor.java:481)
    at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$errorHandler$0 (W3CHandshakeResponse.java:62)
    at org.openqa.selenium.remote.HandshakeResponse.lambda$getResponseFunction$0 (HandshakeResponse.java:30)
    at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0 (ProtocolHandshake.java:126)
    at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:195)
at java.util.Spliterators$ArraySpliterator.tryAdvance (Spliterators.java:958)
    at java.util.stream.ReferencePipeline.forEachWithCancel (ReferencePipeline.java:127)
    at java.util.stream.AbstractPipeline.copyIntoWithCancel (AbstractPipeline.java:502)
    at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:488)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:474)
    at java.util.stream.FindOps$FindOp.evaluateSequential (FindOps.java:150)
    at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.findFirst (ReferencePipeline.java:543)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession (ProtocolHandshake.java:128)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession (ProtocolHandshake.java:74)
    at org.openqa.selenium.grid.session.remote.RemoteSession$Factory.performHandshake (RemoteSession.java:147)
    at org.openqa.selenium.grid.session.remote.ServicedSession$Factory.apply (ServicedSession.java:161)
    at org.openqa.selenium.remote.server.ActiveSessionFactory.lambda$apply$12 (ActiveSessionFactory.java:180)
    at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:195)
    at java.util.stream.ReferencePipeline$11$1.accept (ReferencePipeline.java:442)
    at java.util.stream.ReferencePipeline$2$1.accept (ReferencePipeline.java:177)
    at java.util.Spliterators$ArraySpliterator.tryAdvance (Spliterators.java:958)

Это довольно долго... Я могу приложить остальное к вопросу, если требуется...

1 ответ

Я бы порекомендовал перейти на Java 8 и использовать файл config.json для вашего узла следующим образом:

 {
   "capabilities": [
      {
       "browserName": "firefox",
       "platform": "WIN7",
       "maxInstances": 5
      }
   ],
   "hub": "http://<hub ip>:<hub port>"
  }
Другие вопросы по тегам