У меня есть приложение Java, которое использует селен с Google Chrome в Docker, вот мой файл Docker, когда я запускаю приложение в Docket, оно длится 30-40 секунд и выдает исключения.Я пробовал другую версию селена, но у меня была та же проблема.
FROM openjdk:8
# Install Chrome
RUN wget --no-check-certificate -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | tee /etc/apt/sources.list.d/google-chrome.list
RUN apt-get update
RUN apt-get --assume-yes install google-chrome-stable
ADD target/Scraper-1.jar Scraper-1.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "-Xmx1700m", "Scraper-1.jar"]
вот код java
WebDriverManager.chromedriver().setup();
WebDriver webDriver = new ChromeDriver(options);
log.info("init is complete ");
webDriver.get(URL);
и исключение
05-06-2018 12:46:18.551 [http-nio-8080-exec-7] INFO i.g.bonigarcia.wdm.WebDriverManager.forceCache - Found chromedriver in cache: /root/.m2/repository/webdriver/chromed
river/linux64/2.39/chromedriver
05-06-2018 12:46:18.553 [http-nio-8080-exec-7] INFO i.g.bonigarcia.wdm.WebDriverManager.exportDriver - Exporting webdriver.chrome.driver as /root/.m2/repository/webdriv
er/chromedriver/linux64/2.39/chromedriver
Starting ChromeDriver 2.39.562737 (dba483cee6a5f15e2e2d73df16968ab10b38a2bf) on port 32161
Only local connections are allowed.
05-06-2018 12:47:18.636 [http-nio-8080-exec-7] ERROR c.r.s.e.GlobalExceptionHandler.handleException - GlobalExceptionHandler
org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist
(Driver info: chromedriver=2.39.562737 (dba483cee6a5f15e2e2d73df16968ab10b38a2bf),platform=Linux 4.9.87-linuxkit-aufs x86_64) (WARNING: The server did not provide any
stacktrace information)
Command duration or timeout: 60.05 seconds
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: '7ce14c6d696d', ip: '172.17.0.3', os.name: 'Linux', os.arch: 'amd64', os.version: '4.9.87-linuxkit-aufs', java.version: '1.8.0_171'
Driver info: driver.version: ChromeDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)
at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)
at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:138)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:142)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:157)
Код отлично работает в локальной среде (windows),