Ich hole Seiten mit cURL in PHP. Alles funktioniert gut, aber ich hole einige Teile der Seite, die mit JavaScript berechnet werden, einen Bruch, nachdem die Seite geladen ist. cURL sendet die Quelle der Seite bereits zurück an mein PHP-Skript, bevor die JavaScript-Berechnungen ausgeführt werden, was zu falschen Endergebnissen führt. Die Berechnungen auf der Website werden von AJAX abgerufen, daher kann ich diese Berechnung nicht auf einfache Weise reproduzieren. Außerdem habe ich keinen Zugriff auf den Code der Zielseite, daher kann ich diese Zielseite nicht so anpassen, dass sie zu meinen (cURL) Abrufanforderungen passt.Gibt es eine Möglichkeit, cURL warten zu lassen, bis die dynamischen Aktualisierungen der Seite abgeschlossen sind?
Gibt es eine Möglichkeit, cURL zu warten, bis der gesamte dynamische Verkehr beendet ist? Es könnte schwierig sein, da einige JavaScripts Daten an eine andere Domäne zurücksenden, was zu langen Verzögerungen führen kann. Aber zumindest kann ich dann testen, ob ich zumindest die richtigen Ergebnisse zurückbekomme.
Meine Entwickler-Symbolleiste in Safari zeigt an, dass die Seite in etwa 1.57s fertig ist. Vielleicht kann ich cURL statisch sagen, dass ich auch 2 Sekunden warten soll?
Ich frage mich, was die Möglichkeiten sind :)
Zum Glück ist es nur ein kleines Stück Code. Ich werde den Code in JavaScript umschreiben und die Daten dann mit jQuery und PhantomJS holen. Danke :) –
Gibt es eine Möglichkeit, PhantomJS nur einfach in meine lokale HTML-Seite, wo ich meine jQuery tun? –
Nein. Phantom.js verwendet intern einen echten Webkit-Browser, den Sie auf dem Client nicht ausführen können. –