Я нашел это на github: https://github.com/gr2m/phantomjs-console
Но это немного сумасшествие, нужно писать команды в файле, только на одной строке, которая затем читается и удаляется, а вывод находится в терминале.
Мне нужна консоль вроде...
$ phantomjs --console
phantom> console.log(typeof $)
[Object Function]
phantom> console.log("happy days")
happy days
phantom>
Есть ли что-нибудь подобное?
EDIT: начать понимать, почему они сделали это таким безумным способом...
От PhantomJS- Node: https://github.com/sgentle/phantomjs-node
Нет, как это работает?
Я отвечу на этот вопрос вопросом. Как вы общаетесь с процессом, который не поддерживает разделяемая память, сокеты, FIFO или стандартный ввод?
Ну, есть одна вещь, которую PhantomJS поддерживает, и что открытие веб-страница. На самом деле, это действительно хорошо при открытии веб-страниц. Итак, мы общаться с PhantomJS, разворачивая экземпляр ExpressJS, открытие Phantom в подпроцессе и указание его на специальной веб-странице который превращает сообщения socket.io в вызовы
alert()
. Теalert()
звонки взяты Phantom и там вы идете!Сама связь происходит через Джеймса Холлидея, фантастического dnodeбиблиотека, которая, к счастью, работает достаточно хорошо в сочетании с browserify, чтобы запустить прямо из PhantomJS pidgin Javascript окружающая среда.
Если вы хотите взломать phantom, сделайте это! Вы можете выполнить тесты с тестом теста или npm-тестом, и перестроить coffeescript/browsified код с сборкой торта. Возможно, вам понадобится
npm install -g coffeescript
для торта для работы.