J'apprends le cauchemar. Essayer de visiter un site Web, connectez-vous, puis cliquez sur un bouton itérativement pour faire apparaître plus de données jusqu'à ce que le bouton n'existe plus. J'ai fait un compte fictif pour l'illustration.Boucle de cauchemar grâce aux événements Click
J'ai réussi à me connecter et à cliquer sur le bouton la première fois, mais quand j'essaye de le faire cliquer à nouveau, il enregistre une erreur qu'il ne peut pas trouver l'élément '.more-checkins'. En fin de compte, je voudrais que ce code vive dans une boucle plutôt que de dire au code de cliquer ... attendre ... et cliquer à nouveau. Aide à la conception de ce serait également grandement apprécié.
const Nightmare = require('nightmare')
const untappdURL = 'https://untappd.com/user/beerFan2017'
Nightmare({
show: true,
openDevTools: true,
waitTimeout: 90000000 // increase the default timeout to test things
})
.goto(untappdURL)
.click('.more_checkins')
.type('#username', 'beerFan2017')
.type('#password', 'Testing2017')
.click('input[type="submit"]')
.wait('.stats')
.click('.more_checkins')
.evaluate(function() {
return console.log('Begin waiting');
})
.wait(5000)
.evaluate(function() {
return console.log('Waiting end');
})
.click('more_checkins')
.then(result => console.log(result))
.catch(error => console.error(error))