以及我的代碼是這樣短短的幾行phantomjs不渲染網頁爲PNG
var a = "http://lnmtl.com/chapter/renegade-immortal-chapter-";
var b = 558;
var d = "rennegrade_ch";
var f = ".png";
var page = require('webpage').create();
var i = 0;
for (i = b; i < 560; i++) {
var c = a + i;
console.log(c);
page.open(c, function() {
var e = d + i + f;
console.log(e);
page.render(e);
});
}
phantom.exit();
網頁可以單獨渲染,但一旦我把它裏面的for循環它是所有打印第一控制檯輸出正確,但第二個它跳過我猜它沒有進入page.open函數然後爲循環值增加然後同樣的事情再次發生我不知道爲什麼它沒有進入渲染功能我試圖把var page = require('網頁') 。創建(); inside for loop too但仍然沒有變化
更新:在另一個問題stackoverflow.com/questions/31621577/png-is-not-being-rendered-using-phantomjs-with-multiple-attempts-in-a-循環?rq = 1 有人指出,這種方法不會工作,因爲功能的異步性質,但其中提供的示例代碼是不夠有用任何人的例子,我也試過設置超時,因爲它仍然是同樣的事情發生,所以任何其他想法?
到底是什麼問題,在[我的回答(http://stackoverflow.com/a/31625166/1816580)上的鏈接的問題所提供的解決方案?您的代碼顯示我描述的問題2和3。 –
啊對不起,遞歸部分和狀態變量困惑我那裏我的錯誤,但你可以舉例設置超時我試過,但它沒有工作 –