概要
こんにちは
件名についての質問です。
現在、サーバ上で動作するphpプログラムで、java + selenimu + webdriver + chromedriver を使った実装をしています。
その際にエラーが解決できない現象が起きていますので、質問させていただきます。
以下、やったとこと調べたことをまとめました。
###やったこと(サーバ上でのコマンド履歴)
■facebook/webdriverインストール
php composer.phar require facebook/webdriver
■seleniumインストール
wget http://selenium-release.storage.googleapis.com/2.48/selenium-server-standalone-2.48.2.jar
■javaインストール
sudo yum install -y java-1.8.0-openjdk
■xvfbインストール
sudo yum install -y xorg-x11-server-Xvfb firefox
■chromeインストール
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
chmod u+x install_chrome.sh
./install_chrome.sh
■chromedriverインスト
wget http://chromedriver.storage.googleapis.com/2.20/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
■日本語言語対応
yum -y groupinstall base "Development tools" --setopt=group_package_types=mandatory,default,optional
■bash
vi ~/.bash_profile
export DISPLAY=:3
source ~/.bash_profile
■実行
Xvfb :3 -screen 0 1024x768x24 &
java -jar selenium-server-standalone-2.48.2.jar
###上記の操作を行った後、下記のphpプログラムを実行
php
1<?php 2 3require_once 'vendor/autoload.php'; 4 5putenv("webdriver.chrome.driver=/var/www/html/selenium_test/chromedriver"); 6 7use Facebook\WebDriver\Remote\DesiredCapabilities; 8use Facebook\WebDriver\Remote\RemoteWebDriver; 9 10$host = 'http://localhost:4444/wd/hub'; 11 12$driver = RemoteWebDriver::create($host, DesiredCapabilities::chrome(), 5000); 13 14$url = 'https://xxxxxxxxxx/'; 15$driver->get($url); 16 17echo $driver->getTitle() . "\n"; 18 19?>
###起きているエラー
server
1Starting ChromeDriver 74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}) on port 6231 2Only local connections are allowed. 3Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code. 412:38:16.291 WARN - Exception thrown 5java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException 6Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12' 7System info: host: 'localhost.localdomain', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.10.1.el7.x86_64', java.version: '1.8.0_201' 8Driver info: driver.version: unknown 9 at java.util.concurrent.FutureTask.report(FutureTask.java:122) 10 at java.util.concurrent.FutureTask.get(FutureTask.java:192) 11 at org.openqa.selenium.remote.server.DefaultSession.execute(DefaultSession.java:183) 12 at org.openqa.selenium.remote.server.DefaultSession.<init>(DefaultSession.java:119) 13 at org.openqa.selenium.remote.server.DefaultSession.createSession(DefaultSession.java:95) 14 at org.openqa.selenium.remote.server.DefaultDriverSessions.newSession(DefaultDriverSessions.java:124) 15 at org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:58) 16 at org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:1) 17 at org.openqa.selenium.remote.server.rest.ResultConfig.handle(ResultConfig.java:111) 18 at org.openqa.selenium.remote.server.JsonHttpCommandHandler.handleRequest(JsonHttpCommandHandler.java:175) 19 at org.openqa.selenium.remote.server.DriverServlet.handleRequest(DriverServlet.java:202) 20 at org.openqa.selenium.remote.server.DriverServlet.doPost(DriverServlet.java:164) 21 at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) 22 at org.openqa.selenium.remote.server.DriverServlet.service(DriverServlet.java:130) 23 at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 24 at org.openqa.jetty.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) 25 at org.openqa.jetty.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:680) 26 at org.openqa.jetty.jetty.servlet.ServletHandler.handle(ServletHandler.java:571) 27 at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1526) 28 at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1479) 29 at org.openqa.jetty.http.HttpServer.service(HttpServer.java:920) 30 at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820) 31 at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:986) 32 at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837) 33 at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.java:243) 34 at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:358) 35 at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:537) 36Caused by: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException 37Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12' 38System info: host: 'localhost.localdomain', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.10.1.el7.x86_64', java.version: '1.8.0_201' 39Driver info: driver.version: unknown 40 at org.openqa.selenium.remote.server.DefaultDriverProvider.callConstructor(DefaultDriverProvider.java:113) 41 at org.openqa.selenium.remote.server.DefaultDriverProvider.newInstance(DefaultDriverProvider.java:97) 42 at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:60) 43 at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:222) 44 at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:1) 45 at java.util.concurrent.FutureTask.run(FutureTask.java:266) 46 at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:176) 47 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 48 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 49 at java.lang.Thread.run(Thread.java:748) 50Caused by: java.lang.reflect.InvocationTargetException 51 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 52 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 53 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 54 at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 55 at org.openqa.selenium.remote.server.DefaultDriverProvider.callConstructor(DefaultDriverProvider.java:103) 56 ... 9 more 57Caused by: org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally 58 (unknown error: DevToolsActivePort file doesn't exist) 59 (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) 60 (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Linux 3.10.0-957.10.1.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information) 61Command duration or timeout: 1.07 seconds 62Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12' 63System info: host: 'localhost.localdomain', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.10.1.el7.x86_64', java.version: '1.8.0_201' 64Driver info: org.openqa.selenium.chrome.ChromeDriver 65 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 66 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 67 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 68 at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 69 at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206) 70 at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) 71 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:647) 72 at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:247) 73 at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:129) 74 at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:142) 75 at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170) 76 at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:138) 77 ... 14 more 7812:38:16.299 WARN - Exception: unknown error: Chrome failed to start: exited abnormally 79 (unknown error: DevToolsActivePort file doesn't exist) 80 (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) 81 (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Linux 3.10.0-957.10.1.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information) 82Command duration or timeout: 1.07 seconds 83Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12' 84System info: host: 'localhost.localdomain', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.10.1.el7.x86_64', java.version: '1.8.0_201' 85Driver info: org.openqa.selenium.chrome.ChromeDriver
###調べたこと(対応したこと)
・javaの起動時に「-Dwebdriver.chrome.driver=xxxx」をつけた
・同じく起動時に「-enablePassThrough false」をつけた
・Selenium Standalone Serverを最新版(https://www.seleniumhq.org/download/)にした
・selenium-server-standaloneのバージョンをあげた(そもそも起動しなかった)
###現状
・どの方法を試しても、エラー内容は変わらず。
・「Chrome failed to start: exited abnormally」ここも原因のひとつかも(?)
・「Driver info: driver.version: unknown」という箇所が原因かと思いますが、解決方法がわかりません。
有識者さまのお力を貸していただきたいと思い、質問させていただきました。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。