var casper = require('casper').create({
viewportSize: {
width: 1920,
height: 1080
},
verbose: true,
logLevel: 'debug'
});
var utils = require('utils');
casper.options.onResourceRequested = function(C, requestData, request) {
utils.dump(requestData.headers);
};
var url = casper.cli.get('url');
var filename = casper.cli.get('filename');
var headers = casper.cli.get('storefront');
if (headers != null) {
casper.userAgent('iTunes/12.4.3 (Windows; Microsoft Windows 10.0 x64 Business Edition (Build 9200); x64) AppleWebKit/7601.6016.1000.7');
}
casper.start().then(function() {
casper.page.customHeaders = {
'X-Apple-Store-Front': headers,
'X-Apple-Tz': '3600'
};
casper.thenOpen(url, function() {
this.wait(2000, function() {
var fs = require('fs');
fs.write('asd.html', this.getHTML(), 'wb');
this.capture(filename);
});
});
});
casper.run();
casperjs screenshot.js --storefront="143441-1,12 ab:SwTTXLh0" --url="https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewGrouping?cc=us&id=37" --filename=tv.jpg
尝试转储此页面时,它不会给我完整的javascript轮播或任何内容。老实说,我不知道导致加载失败的原因是什么,并且想知道是否有人对此有任何其他经验?
PhantonJS版本是2.1.1。 CasperJS版本是1.1.1。
答案 0 :(得分:0)
我面临同样的问题。在PhantomJS ticket中有几件事需要检查:
this.debugHTML()
输出Casper解释的html,以查看您要加载的脚本是否在实际的html中(可能因为奇怪/旧的userAgent而被省略)onResourceRequested
和onResourceReceived
查看网络流量,看看是否真实地请求并接收过该脚本。可悲的是,在我的情况下所有这些看起来都不错,但页面仍然是空白的。希望它可以帮助别人。如果您有关于要检查的内容的其他提示,请告诉我。