Pliki har phantomjs są skróconą listą zasobów. Innymi słowy, gdy odwiedzasz stronę internetową w przeglądarce Chrome lub innej przeglądarce, pliki ładują się przez kilka sekund.
Ale phantomjs wykonuje natychmiastową migawkę tej strony, zanim wszystkie zasoby miały czas załadować.
wyklucza on również pliki danych i obrazu (ponieważ nie są one częścią specyfikacji har)
Można to obejść modyfikując netsniff.js przykładowy plik.
Rozwinąłem ten projekt i wprowadziłem te modyfikacje pod poniższym linkiem. Zwróć uwagę, że ustawiłem czas oczekiwania na 20 sekund przed wygenerowaniem har. Dodałem także trochę obsługi błędów, aby zignorować błędy js. Bit obsługi błędów został dodany do obsługi phantomjs tworzenia nieprawidłowych plików har, jeśli napotkał błąd. (Też skomentowałem funkcję, która wyklucza pliki danych/obrazów)
Może to nie być dokładnie to, czego potrzebujesz. Ale jest to punkt wyjścia dla ciebie lub kogokolwiek, kto chce korzystać z phantomjs.
Po tych zmianach, poszedłem z konsekwentnie coraz cztery pliki aktywów do około 25.
https://github.com/associatedpress/phantomjs/blob/netsniff-timer/examples/netsniff.js
+1 dla PhantomJs nie będących bardzo niezawodny, to jest dobre dla non-krytycznych rzeczy, ale ma tendencję do awarii na stronach z brzydkimi znacznikami. – siliconrockstar