2012-10-25 8 views
6

Vielen Dank für das Lesen meines Themas, ich wäre wirklich dankbar, wenn jemand andere Möglichkeiten vorschlagen könnte, die ich unten erreichen sollte.CasperJS: Deaktivieren Sie Javascript der Remote-Seite, aber verwenden Sie immer noch casper.evaluate?

Mit CasperJS oder PhantomJS Ich muss alle JavaScript deaktivieren, die zu den Seiten gehören, von denen ich navigiere, ausgeführt werden, während ich immer noch meine eigene mit casper.execute ausführen kann.

Kennt jemand einen Weg, wie ich das tun kann?

  • Ist es möglich, die HTTP-Header oder Körper mit onResourceRequested oder onResourceReceived zu ändern? oder eine Anfrage unter Vorbehalt stornieren? oder lesen sie nur?
  • Können Sie die rohe HTML-Quelle ändern, bevor sie zum Parsen angeboten wird?
  • Ich habe versucht, ein window.stop() in einer casper.execute früh zu hacken, aber das funktioniert inkonsistent zwischen den Seiten.
  • Wird das Phantom WebServer-Modul für diese Art von Sache verwendet? Könnte/sollte ich Reqs/Responses routen und sie modifizieren, während sie durchgehen?

Danke für jede Hilfe - Ich weiß, dass dies ein seltsamer Anwendungsfall ist.

Antwort