2013-03-28 2 views
8

Мне было интересно, можно ли запустить браузер (в частности, браузер) на стороне сервера. Я не просто хочу отображать страницу, но и держать браузер открытым в течение некоторого времени, запускать JS, делать несколько кликов или нажимать некоторые клавиши и тем временем захватывать графический вывод.server side browser

Кто-нибудь знает, как это сделать? До сих пор моя единственная идея заключалась в том, чтобы запускать браузер на сеансе VNC, RDP и т. Д., Но для меня это кажется излишним.

+0

Это не для меня очевидно, что вы хотите сделать. Что означает «браузер, соответственно, механизм браузера»? – askewchan

+1

Я хочу, чтобы веб-сайт на сервере распространил его на несколько приложений html5/JavaScript позже. С «браузером, соответственно, браузером» я подразумевал, что мне действительно не нужно запускать весь браузер (например, включая надстройки или пользовательский интерфейс), но механизм браузера, включая JS-движок, действительно важен. –

+0

Есть тестовые наборы, которые могут запускать безгласный webkit, например zombiejs http://zombie.labnotes.org/ Возможно, это поможет вам справиться с вашей проблемой? – VKen

ответ

6

PhantomJS делает то, что вы описываете. Это в основном безголовый браузер - http://phantomjs.org/

вы можете запустить его на стороне сервера через любой серверный язык. Смотрите некоторые модули интеграции ниже для NodeJS и PHP

NodeJS

https://npmjs.org/package/node-phantom

https://github.com/sgentle/phantomjs-node

PHP

https://github.com/diggin/php-PhantomjsRunner

+0

Большое спасибо - я думаю, что это мне очень поможет –

1

Да, это очень возможно запустить веб-браузер на сервере. Сервер Ubuntu, например, может запускать firefox, просто устанавливая firefox и xserver.

$ sudo apt-get install firefox 
$ sudo apt-get install xserver-xorg 

Затем, чтобы получить FireFox типа бега:

$ X 

Это оставит вас с пустым экраном, потому что нет никаких приложений, работающих на дисплее еще. Вам нужно перейти на новый терминал с помощью Ctrl-Alt-F2. Ctrl-Alt-F1 теперь выполняет X-процесс.

Войдите в новый терминал и установите переменную дисплея среды: 0 и запустите firefox.

$ export DISPLAY=:0 
$ firefox & 

Теперь Firefox должен работать, но вы заметите, что у него есть некоторые причуды. Если вы решите, что хотите продолжить работу, вы должны установить диспетчер окон. Я бы пошел с легким менеджером оконной панели и запустил firefox, и любые другие приложения нуждались в графическом выходе в этом оконном менеджере.

+0

Большое спасибо за ваш ответ, но я искал больше для безгласного браузера для рендеринга изображения для дальнейшей обработки. –