2017-01-27 19 views
3

Я знаю, что это звучит странно. Дело в том, что я хочу, чтобы приложение NodeJS контролировало браузер. В то же время я хочу видеть браузер и иметь возможность взаимодействовать с ним и видеть, что он делает в режиме реального времени.Как сделать видимым браузер phantomjs?

Если это невозможно в PhantomJS, существует другой способ управления выделенным браузером от NodeJS. (выделенный браузер я имею в виду, что я не хочу использовать свой собственный Chrome)

Пример использования: Например, я хочу протестировать приложение, требующее «входа». Я не хочу проверять процесс входа в систему. Так что мне нужно «войти» вручную (пусть браузер сохранит файлы cookie), а затем я смогу запустить тесты, используя те же файлы cookie для входа в систему.

Другими словами: Возможно ли взаимодействие с браузером, которым управляет NodeJS? Мне нужен вариант, чтобы показать браузер и скрыть его (так он будет работать с настольных и безголовых серверов)

+0

После просмотра ответов мне не нравится название моего вопроса. это, как правило, любой модуль браузера NodeJS без браузера, не относящийся к PhantomJS. Есть ли у вас какие-либо другие предложения? – Aminadav

ответ

4

PhantomJS - это браузер без браузера, что означает, что ничего не показывать.

К счастью есть другие варианты, которые могут поместиться ваш рабочий


NightmareJS в использовании Electron, которая основана на браузере Google Chrome. Вы можете сделать браузер видимым:

var Nightmare = require('nightmare');  
var nightmare = Nightmare({ show: true }); 

SlimerJS всегда виден, это синтаксис совместим с PhantomJS.

+0

Можно ли изменить это свойство во время выполнения? – Aminadav

+2

Не пробовал делать это, не думаю, что это так. Зачем вам это нужно? – Vaviloff

+0

Да. это возможно: https://github.com/segmentio/nightmare/issues/907 Это используется Electron за сценой, – Aminadav