我在 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 列表中获取屏幕截图?
最佳答案
您可以这样做,因为 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例子。
关于javascript - PhantomJS - 从许多 URL 获取屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21146463/