0

У меня проблема. У меня есть приложение, которое должно запускаться на сервере linux, где нет GUI, я хочу запустить его без головы. На моем локальной машине все работает нормально, но на сервере у меня есть проблема, и я не знаю, почему, вчера он работал, но в настоящее время я получаю эту ошибку:Невозможно запустить драйвер хрома через селен в режиме безголовы

org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally 
    (Driver info: chromedriver=2.25.426924 (649f9b868f6783ec9de71c123212b908bf3b232e),platform=Linux 4.4.0-47-generic x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 60.07 seconds 
Build info: version: 'unknown', revision: 'unknown', time: 'unknown' 
System info: host: 'vps334949', ip: '92.222.74.219', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-47-generic', java.version: '1.8.0_111' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
    at sun.reflect.GeneratedConstructorAccessor54.newInstance(Unknown Source) 
    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:206) 
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678) 
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144) 
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170) 
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:159) 
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:116) 

Be переднего приложение запуска я бег этих команд :

Xvfb :40 & 
Xvfb :40 -screen 0 1024x768x24 -extension RANDR & 
export DISPLAY=:40 

Но это не волнует сейчас, не могли бы вы, пожалуйста, помогать где-нибудь, где должна быть проблема?

Это, как я бегу веб-драйвер:

System.setProperty("webdriver.chrome.driver", "/home/chrome/chromedriver"); 
     WebDriver driver = new ChromeDriver(); 
     driver.manage().timeouts().pageLoadTimeout(TIMEOUT, TimeUnit.MINUTES); 
+0

Посмотрите [здесь] (https://gist.github.com/addyosmani/5336747). Убедитесь, что вы выполняете prereqs для linux. Я получил эту работу в своей последней работе, потому что PhantomJS не вел себя корректно для некоторых JavaScript, которые хотели использовать. – MikeJRamsey56

ответ

3

Во-первых, вам нужно запустить сервер с помощью селена xvfb-run команды. Сначала выполните команду ниже в терминале, а затем запустите выполнение скриптов.

xvfb-run java -jar selenium-server-standalone-2.53.jar 
+0

Привет! Я запускаю эти команды для своего приложения 1) xvfb-run java -jar selenium-server-standalone-3.0.1.jar & 2) Xvfb: 40 & 3) export DISPLAY =: 40 4) java -jar myapp .jar & И теперь все работает снова !! – user1604064

1

Я обнаружил, что водитель Селен не нужен, когда я запускаю мое приложение, как таким образом:

xvfb-run -a java -jar my_jar.jar 

это работает!

Смежные вопросы