@ideological

Как правильно запустить Selenium на VPS?

Подскажите пожалуйста про правильный запуск Selenium на удаленной машине с Debian.
Я просто выполняю:
java -jar selenium-server-standalone-2.53.0.jar -Dwebdriver.chrome.driver=chromedriver

И по url http://[мой_ip]:4444/wd/hub появляется страничка. Что вроде хорошо.

Я установил через Composer https://github.com/facebook/php-webdriver
и запускаю вот такой код:
<?php
// Указываем пространство имен
namespace Facebook\WebDriver;

// Указываем какие классы будут использоватся
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;

//Пподключаем автолоадер классов
require_once('vendor/autoload.php');

// Задаем хост на котором запущен Selenium (localhost - если же на этом компьютере) и номер порта (4444 - порт по умолчанию, если мы не задали другой)
$host = 'http://[мой_ip]:4444/wd/hub';

$driver = RemoteWebDriver::create($host, DesiredCapabilities::chrome());

//  Подаем команду браузеру переход на URL: 'http://docs.seleniumhq.org/'
$driver->get('http://docs.seleniumhq.org/');


и получаю ошибку
Fatal error: Uncaught exception 'Facebook\WebDriver\Exception\WebDriverCurlException' with message 'Curl error thrown for http POST to /session with params: {"desiredCapabilities":{"browserName":"chrome","platform":"ANY"}} Operation timed out after 30001 milliseconds with 0 bytes received' in /var/www/dfbdfb/data/www/mysite.ru/vendor/facebook/webdriver/lib/Exception/WebDriverException.php:89 Stack trace: #0 /var/www/dfbdfb/data/www/mysite.ru/vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php(254): Facebook\WebDriver\Exception\WebDriverException::throwException(-1, 'Curl error thro...', Array) #1 /var/www/dfbdfb/data/www/mysite.ru/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php(97): Facebook\WebDriver\Remote\HttpCommandExecutor->execute(Object(Facebook\WebDriver\Remote\WebDriverCommand)) #2 /var/www/dfbdfb/data/www/mysite.ru/ucheba_test.php(15): Facebook\WebDriver\Remote\RemoteWebDriver::create('http://95.46.11...', Object(Facebook\WebDriver\Remote\DesiredCapabilities)) #3 {main} thrown in /var/www/dfbdfb/data/www/mysite.ru/vendor/facebook/webdriver/lib/Exception/WebDriverException.php on line 89

Что я делаю не так?

Возможно нужно чтобы на VPS в момент запуска был открыт chrome? Но я не знаю как это сделать, к сожалению (. Или проблема вовсе не в этом.
Подскажите как правильно запустить?
Более того, после закрытия консоли Selenium же пропадет, это все как-то пишется в автозагрузку?
Вообщем был бы очень признателен разъяснениям ;). Доступных статей найти не удалось.
  • Вопрос задан
  • 2442 просмотра
Решения вопроса 1
urtow
@urtow
*nix, python, QA, bagpipe, folk music
Selenium запущен без монитора - браузер не может запуститься и получается вот такая ошибка.

Чтобы запускать полноценные браузеры на VPS можно использовать xvfb-run. Как пример запуска:

DISPLAY=:99 xvfb-run -a -n 1 -l -s "-screen 0, 1024x768x8" java -jar /usr/local/bin/selenium-server


Подробнее расказывать вот эта статья:

ermin.ru/post/19
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы