Chromedriver не может открыть браузер Chrome на AWS EC2 - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь запустить простой код Java для настройки компьютера EC2 на AWS, и его чистая цель - запустить селен.

Тот же код на моем локальном (MAC) работает нормально, просто меняя хромпуть

Я мог бы запустить chromedriver и google-chrome независимо без проблем.

  • версия хромированного драйвера - 71.0.3578.80

  • Google Chrome 71.0.3578.98

Вот онокод Java

import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class TecAdminSeleniumTest {

    public static void main(String[] args) throws IOException, InterruptedException {
            System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver");
            ChromeOptions chromeOptions = new ChromeOptions();
            chromeOptions.addArguments("--headless");
            chromeOptions.addArguments("--no-sandbox");

            WebDriver driver = new ChromeDriver(chromeOptions);

            driver.get("https://google.com");

            Thread.sleep(1000);

            if (driver.getPageSource().contains("I'm Feeling Lucky")) {
                    System.out.println("Pass");
            } else {
                    System.out.println("Fail");
            }
            driver.quit();
    }
}

Наблюдаемая ошибка:

Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15'
System info: host: 'XXXXXXX', ip: 'XXXXXX', os.name: 'Linux', os.arch: 'amd64', os.version: '4.14.77-70.59.amzn1.x86_64', java.version: '1.8.0_25'

Я получаю следующее исключение:

Driver info: org.openqa.selenium.chrome.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:408)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216)
at org.openqa.selenium.chrome.ChromeDriver.startSession(ChromeDriver.java:182)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:111)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:115)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:161)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:150)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:139)

1 Ответ

0 голосов
/ 22 января 2019

Это сообщение об ошибке ...

Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15' System info: host: 'XXXXXXX', ip: 'XXXXXX', os.name: 'Linux', os.arch: 'amd64', os.version: '4.14.77-70.59.amzn1.x86_64', java.version: '1.8.0_25'

... подразумевает, что существует некоторая несовместимость между используемой вами версией двоичных файлов:

  • Ваш Клиент Selenium версия 2.39.0 из 2013-12-16 16: 11: 15 , что превышает 5 лет старше.
  • Ваша версия JDK - это 1.8.0_25 , что довольно давно.

Итак, существует явное несоответствие между JDK v8u25 и Selenium Client v2.39

Решение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...