我遇到了德国亚马逊网站的问题。
此Url http://www.amazon.de/Angebote/b/ref=cs_top_nav_gb27?ie=UTF8&node=872398链接到德国亚马逊交易网站。
在网站上有一个名为“Aktuelle Blitzangebote”的栏目,该栏目在特定时间提供当天的服务交易。
如果我尝试通过phantomjs访问它们,那么'ul.ulResized'中的交易(“Aktuelle Blitzangebote”框中的交易)不会被加载。
我使用以下脚本从网站获取HTML-src:
var casper = require("casper").create({
pageSettings: {
userAgent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
viewportSize: {width: 1600, height: 900}
}
});
var fs = require('fs');
var address = casper.cli.args[0].replace(/\^/g,"");
console.log("Address == " + address);
casper.on('remote.message', function (msg) {
this.echo('remote message caught: ' + msg);
});
casper.start(address);
casper.wait(5000);
casper.then(function()
{
console.log("writing");
fs.write("blitz.html", this.getHTML(), "w");
console.log("done");
});
casper.run();
有人可以帮我解决这个问题吗?
祝你好运, Ogofo
答案 0 :(得分:1)
您可以这样做:
var url = 'http://www.amazon.de/Angebote/b/ref=cs_top_nav_gb27?ie=UTF8&node=872398';
var casper = require('casper').create({
verbose: false,
logLevel: 'debug'
});
casper.test.comment('Starting Testing');
casper.start(url, function() {
console.log(this.getCurrentUrl());
this.test.assertHttpStatus(200, siteName + ' is up');
this.wait(5000, function(){
console.log(this.getHTML(".ulResized "));
});
});
casper.run(function() {
this.echo('So the whole suite ended.');
this.exit();
});
您还应该能够使用以下选项来选择特定的<li>
:
console.log(this.getHTML(".ulResized li:nth-child(1)")); //replace 1 with list order number