Selenium в связке с PHP не может запустить браузер

301
17 августа 2017, 23:17

Установил WebDriver, вроде всё работает. Запускаю таким образом:

DISPLAY=:99 xvfb-run -a -n 1 -l -s "-screen 0, 1024x768x8" java -jar selenium-server-standalone-3.5.0.jar

Запускается. После чего с помощью PHP пытаюсь подключиться и открыть браузер:

namespace Facebook\WebDriver;
use Facebook\WebDriver\Remote\HttpCommandExecutor;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
require_once('vendor/autoload.php');
$host = 'http://localhost:4444/wd/hub';
$driver = RemoteWebDriver::create($host, DesiredCapabilities::chrome());

При запуске возникает ошибка:

PHP Catchable fatal error:  Argument 1 passed to Facebook\WebDriver\Remote\DesiredCapabilities::__construct() must be of the type array, null given, called in /root/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php on line 127 and defined in /root/vendor/facebook/webdriver/lib/Remote/DesiredCapabilities.php on line 33

Сам процесс Selenium выдаёт:

2017-08-17 11:41:56.927:INFO:osjshC.ROOT:qtp405662939-9: org.openqa.selenium.remote.server.WebDriverServlet-675d3402: Initialising WebDriverServlet
11:41:57.192 INFO - Binding default provider to: org.openqa.selenium.chrome.ChromeDriverService
11:41:57.193 INFO - Found handler: org.openqa.selenium.remote.server.BeginSession@51253f85
11:41:57.200 INFO - /session: Executing POST on /session (handler: BeginSession)
11:41:57.262 INFO - Capabilities are: Capabilities {browserName=chrome, platformName=ANY, platform=ANY, }
11:41:57.267 INFO - Capabilities {browserName=chrome, platformName=ANY, platform=ANY, } matched class org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.chrome.ChromeDriverService)
11:41:57.268 INFO - Capabilities {browserName=chrome, platformName=ANY, platform=ANY, } matched class org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.chrome.ChromeDriverService)
2017-08-17 11:41:57.305:WARN:osjs.HttpChannel:qtp405662939-9: /wd/hub/session
java.lang.NullPointerException
        at com.google.gson.JsonPrimitive.isPrimitiveOrString(JsonPrimitive.java:278)
        at com.google.gson.JsonPrimitive.setValue(JsonPrimitive.java:101)
        at com.google.gson.JsonPrimitive.<init>(JsonPrimitive.java:65)
        at org.openqa.selenium.remote.server.ExceptionHandler.lambda$execute$0(ExceptionHandler.java:82)
        at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
        at java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source)
        at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
        at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.util.stream.ReferencePipeline.collect(Unknown Source)
        at org.openqa.selenium.remote.server.ExceptionHandler.execute(ExceptionHandler.java:88)
        at org.openqa.selenium.remote.server.WebDriverServlet.handle(WebDriverServlet.java:247)
        at org.openqa.selenium.remote.server.WebDriverServlet.doPost(WebDriverServlet.java:151)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at org.openqa.selenium.remote.server.WebDriverServlet.service(WebDriverServlet.java:111)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:841)
        at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:535)
        at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at org.seleniumhq.jetty9.security.SecurityHandler.handle(SecurityHandler.java:548)
        at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
        at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
        at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
        at org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:473)
        at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
        at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
        at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.seleniumhq.jetty9.server.Server.handle(Server.java:564)
        at org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:317)
        at org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:251)
        at org.seleniumhq.jetty9.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
        at org.seleniumhq.jetty9.io.FillInterest.fillable(FillInterest.java:110)
        at org.seleniumhq.jetty9.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
        at org.seleniumhq.jetty9.util.thread.Invocable.invokePreferred(Invocable.java:128)
        at org.seleniumhq.jetty9.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222)
        at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294)
        at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:126)
        at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
        at org.seleniumhq.jetty9.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
        at java.lang.Thread.run(Unknown Source)

И здесь, уже не знаю в какую сторону смотреть, гугл не помог.

READ ALSO
Безопасность SQL запроса Insert

Безопасность SQL запроса Insert

Добрый день! Я начал изучение методов PDO в принципе все понимаю но хотел бы уточнить у знающих людей,в общем мой запрос инсерт

199
undefined reference to `` с++

undefined reference to `` с++

Продолжая изучать тему нативных библиотек Java при попытке вызвать метод с++ из с получаю ошибку сборки:

350
Использование qApp не дает нужного эффекта

Использование qApp не дает нужного эффекта

Пишу графическую библиотеку dll для приложения, используя его API, на Qt для x86Использую VS2015 и официальный плагин Qt

280
smart pointer yourself? [требует правки]

smart pointer yourself? [требует правки]

How to create smart pointer yourself ?

216