以及我的代码是这样短短的几行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。 –
啊对不起,递归部分和状态变量困惑我那里我的错误,但你可以举例设置超时我试过,但它没有工作 –