我正在尝试使用 Nightmare / Electron 抓取动态分页网站。我看不到一种执行操作的方法...直到使用噩梦功能或使用逻辑链接评估调用的方法。
这是一个简单的代码示例,它只搜索一个短语并从第 1 页返回结果href。我希望此代码在结果中的每一页继续。
var Nightmare = require('nightmare');
var vo = require('vo');
vo(function* () {
var nightmare = Nightmare({ show: true });
var links = yield nightmare
.goto('http://www.google.com')
.wait('input[title="Search"]')
.click('input[title="Search"]')
.type('input[title="Search"]', 'Anequim Project')
.click('input[name="btnK"]')
.wait(600)
.evaluate(function(){
var linkArray = [];
var links = document.querySelectorAll('h3.r a');
for (var i = 0; i < links.length; ++i) {
linkArray.push(links[i].getAttribute('href'));
}
return linkArray;
});
yield nightmare.end();
return links;
})(function (err, result) {
if (err) return console.log(err);
console.log(result);
});