2013-03-12 57 views
1

我使用PhantomJS開發將在服務器端執行的腳本。從PhantomJS啓動另一個API

總之,我的腳本會生成一個屏幕我的頁面。我使用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 2013-03-12 16:07:07

+0

API向我發送由PhantomJS生成的屏幕結果,並在服務器上運行JS。 – Antoine 2013-03-12 16:11:46

+0

不過,這還不清楚。你想從哪個JS文件開始「它」?它是什麼'? JS文件如何運行?對不起,這個問題聽起來很有趣,但我仍然無法理解。嘗試編輯您的問題,並寫出您的流程和所有相關信息。提供大量信息並不是一件壞事。 – Joe 2013-03-12 16:57:41

回答

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.

PhantomJS支持腳本注入注入你的API中phantomJS成幻影外太空。如果你的代碼是一個純粹的JS API,你可以很容易地使用它,而不需要流程執行的代價。
參見文檔here