帮助我,如何转到数组的URL?问题是URL列表从另一个页面(casper)开始,并且最初是未知的。例如:
casper.thenEvaluate(function() {
var links = new Array;
$('.ValueBets > li').each(function() {
links.push($(this).find('.MDxMatchLink').attr('href'));
});
});
答案 0 :(得分:0)
我猜(没有证明)其中一个问题是你在评估中定义你的数组,无论如何我可以为你解决这个问题(getAllHref):
var casper = require('casper').create();
var url = "yourTargetUrl";
var links;
function getAllHref() {
var hrefs = casper.evaluate(function() {
return Array.prototype.map.call(document.querySelectorAll('a'), function(e) {
return e.getAttribute('href');
});
});
return hrefs;
}
casper.start(url);
casper.then(function() {
// statements
links = getAllHref();
});
casper.then(function() {
// show all links at once
casper.echo(JSON.stringify(links));
// show single hrefs
while (links.length > 0) {
link = links.pop();
(function(link) {
casper.then(function() {
casper.echo('link: ' + link);
});
})(link);
}
});
casper.run();