我在capture.js文件中有这段代码:
var page = require('webpage').create();
var ii = 1;
page.open('http://stackoverflow.com/', function() {page.render('capture_' + ii + '.png');}); ii++;
page.open('http://github.com/', function() {page.render('capture_' + ii + '.png');}); ii++;
page.open('http://google.com/', function() {page.render('capture_' + ii + '.png');}); ii++;
phantom.exit();
该代码不产生任何东西。
如何编写js文件以从URL列表中获取屏幕截图?
答案 0 :(得分:1)
你可以这样做,因为Javascript本质上是异步的。只有在加载前一页时(在回调中)才应打开新页面。
渲染三页的最简单方法可能是:
var page = require('webpage').create();
page.open('http://stackoverflow.com/', function() {
page.render('capture_stackoverflow.png');
page.open('http://github.com/', function() {
page.render('capture_github.png');
page.open('http://google.com/', function() {
page.render('capture_google.png');
phantom.exit();
});
});
});
查看官方render_multi_url.js示例。