2013-03-12 5 views
1

Я использую PhantomJS для разработки скрипта, который будет выполняться на стороне сервера.Запустите еще один API от PhantomJS

Таким образом, мой сценарий создаст скриншот со страницы. Я использую API-интерфейс PhantomJS другого API, который даст мне информацию о сгенерированном изображении выше.

Чтобы начать PhantomJS моего экрана я должен ввести в консоли моего сервера: phantomjs MyScript.js

Этот скрипт создает мне изображение, чтобы использовать мой второй API я должен ввести в своем консоли: nameofmyapi изображения. png

Возможно ли в моем сценарии PhantomJS назвать мой второй API таким образом?

page.open(function(){ 

    page.render(); 

    WRITE IN CONSOLE -> nameofmyapi image.png 

} 

Спасибо!

+0

Здесь не хватает информации. Какой API? HTTP или родной или что-то еще? Работает ли JS в браузере? На сервере? В браузере внутри Phantom? – Joe

+0

API отправляет мне результат о экране, сгенерированном PhantomJS и JS, запущенном на сервере. – Antoine

+0

Все еще, это непонятно. С какого JS-файла вы хотите начать «это»? Что это'? Как работает JS-файл? Извините, этот вопрос звучит интересно, но я до сих пор не понимаю. Попробуйте отредактировать свой вопрос и выпишите свой процесс и всю необходимую информацию. Неплохо дать много информации. – Joe

ответ

1

Может быть, немного слишком поздно, но есть 2 возможности для этого сценария:

1. Используйте новый модуль child_process (новое в версии 1.9)

Вы можете найти пример here.

var execFile = require("child_process").execFile 

execFile("nameofmyapi ", ["image.png"], null, function (err, stdout, stderr) { 
    console.log("execFileSTDOUT:", JSON.stringify(stdout)) 
    console.log("execFileSTDERR:", JSON.stringify(stderr)) 
}) 

2. Вводите свой API в phantomJS инъекцию скрипт поддержки

PhantomJS в Phantom космического пространства. Если ваш код является чистым JS API, вы можете легко использовать его без затрат на выполнение процесса.
См. Doc here.

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