我试图使一些内嵌HTML使用以下PhantomJs脚本链接到外部CSS文件:PhantomJs:内嵌HTML与外部CSS文件
var page = require('webpage').create();
page.content = '';
page.content += '
';page.content += '';
page.content += '
';page.content += '
test
';page.content += '';
page.onResourceRequested = function(requestData, request) {
console.log('::loading', requestData['url']); // this doesn't get logged
};
page.onLoadFinished = function() {
console.log('::rendering');
page.render('output.png');
phantom.exit();
};
的layout.css可以访问文件还好有wget
但这里的phantomjs的输出:
$ ./phantomjs --debug=true render_demo.js
... snip ...
2014-01-06T12:17:53 [DEBUG] WebPage - updateLoadingProgress: 10
2014-01-06T12:17:53 [DEBUG] WebPage - updateLoadingProgress: 10
2014-01-06T12:17:53 [DEBUG] WebPage - updateLoadingProgress: 100
2014-01-06T12:17:53 [DEBUG] Network - Resource request error: 5 ("Operation canceled") URL: "http://example.com/css/layout.css"
::rendering
没有创建输出.png文件。
有关如何确保外部CSS资源在呈现前完全加载的任何想法? 它似乎工作好,当我请求与page.open
2014-01-06
EoghanM