Casperjs kratzt dynamischen Inhalt

Ich versuche das zu kratzenSeit mit Casperjs. Die Hauptfunktion meines Codes funktioniert einwandfrei, aber der Inhalt wird dynamisch geladen und ich kann nicht herausfinden, wie ich das auslösen kann.

Das ist, was ich gerade mache:

casper.waitFor(function() {

    this.scrollToBottom();

    var count = this.evaluate(function() {
        var match = document.querySelectorAll('.loading-msg');
        return match.length;
    });

    if (count <= 1) {
        return true;
    }
    else {
        return false
    };

}, function() { // do stuff });

Das Wartezeitlimit läuft gerade ab, obwohl ich es auf 20 Sekunden erhöht habe und der neue Inhalt nie geladen wird. Ich habe versucht, diese Funktion an meinen Fall anzupassen:

function tryAndScroll(casper) {
  casper.waitFor(function() {
    this.page.scrollPosition = { top: this.page.scrollPosition["top"] + 4000, left: 0 };
    return true;
  }, function() {
    var info = this.getElementInfo('p[loading-spinner="!loading"]');
    if (info["visible"] == true) {
      this.waitWhileVisible('p[loading-spinner="!loading"]', function () {
        this.emit('results.loaded');
      }, function () {
        this.echo('next results not loaded');
      }, 5000);
    }
  }, function() {
    this.echo("Scrolling failed. Sorry.").exit();
  }, 500);
}

Aber ich konnte es nicht herausfinden und bin mir nicht mal sicher, ob es hier relevant ist. Irgendwelche Ideen

Antworten auf die Frage(2)

Ihre Antwort auf die Frage