我正在尝试使用PhantomJS这页:http://www.avrilgau.com/fr/5-chaussures。 目的是获得所有产品的链接。 问题是当我向下滚动时加载新数据。每当我向下滚动时,12个新项目都会添加到document.querySelectorAll(“#content> ul> li> div> div a.img”)。
我发现HTML代码中隐藏了一个表单。当我提交这个表格时,我成功地获得了61个元素,共计110个。
如何获取所有产品的链接?
到目前为止我的代码:
var system = require("system");
var fs = require("fs");
var path = 'productLinks.txt';
var url = "http://www.avrilgau.com/fr/5-chaussures";
var page = require('webpage').create();
page.onConsoleMessage = function(msg) {
console.log(msg);
};
page.open(url, function (status) {
var content = page.evaluate(function()
{
var allUrl=[];
var tempNodeArray =document.querySelectorAll("#content > ul > li > div > div a.img");
for (var i = 0; i < tempNodeArray.length; i++) {
allUrl.push((tempNodeArray[i]).href);
};
return allUrl.join("\n")+"\n";
});
console.log(content);
fs.write(path, content, 'a');
phantom.exit();
});
答案 0 :(得分:0)
该类别中只有61种产品,当我按照预期使用网站时,infinityscroll停止在61种产品上。你在哪里得到110号?