Ich versuche, eine Website mit load mehr Knopf zu kratzen, aber ich kann nicht eine rekursive Funktion mit in Albtraum. mein Code ist so etwas wie dieses:Kratzen mit "mehr laden" -Taste JS
const Nightmare = require('nightmare');
const nightmare = Nightmare({
show:true
});// }
const request = require('request');
const cheerio = require('cheerio');
let url = 'https://www.housers.com/es/proyectos/avanzado';
let propertyArray = [];
var getThePage = function() {
nightmare
.goto('https://www.housers.com/es/proyectos/avanzado')
.wait(1500)
.click('#loadMore')
.evaluate(() =>{
return document.querySelector('.all-info').innerHTML;
})
.end()
.then((result) => {
let $ = cheerio.load(result);
let loadMore = $('#loadMore')
if (loadMore) {
getThePage();
}
return result
})
.catch((error) => {
console.error('Search failed:', error);
});
}
getThePage()
Ich weiß nicht, wenn Sie irgendeine Art und Weise haben es mit dieser Methode oder jede andere Idee
Danke für die Hilfe. Nur um mehr zu klären, habe ich im Browser und im Netzwerk "dev bar" eingecheckt, und es ist möglich, nach den Anfragen an die Webseite zu suchen; selbst wenn es eine unendliche scroll oder load more Taste ist, zeigt es den Aufruf der Domain an, so dass man nicht nach Selektoren suchen muss. –