Ich habe mehrere Methoden des Angriffs versucht Casper das Element in Frage zu sehen, die geladen wird über eine zweite GET-Anfrage, die eine Menge von Json zurück, um in die Seite geladen wird DOM.CasperJS Element nicht nach Klasse zu finden, wenn über Ajax geladen
Die Sache ist this.waitForResource(url,....)
funktioniert gut Durchführung der Erfolg Rückruf nach etwa 2 Sekunden (Ich habe eine Zeitüberschreitung von 20 eingestellt).
Ich habe dann versucht zuerst this.click('.class-name')
innen gefolgt von this.evaluate(function(){document.getElementsByClassName('.class-name')[0].click()});
Klicken Sie über casperJS gibt CasperError: Cannot dispatch mousedown event on nonexistent selector: .class-name
während ich bin nicht sicher, was die DOM Aktion tut - mein this.on('resource.received',....)
Anruf sofort nach nichts erfassen, damit ich nehme an, es hatte auch keine Wirkung auch nicht. Der DOM-Code scheint manchmal in Casper stumm zu sein.
Was kann getan werden, um Elemente auszuwählen und auf sie zu klicken, um Dateien erst herunterzuladen, nachdem sie über Ajax in das DOM geladen wurden?
Gibt es dafür eine bessere Bibliothek als CasperJS?