Moim celem końcowym jest otwarcie lokalnego pliku html z wbudowanym javascript, utworzenie mapy z wielokątami i wykonanie zrzutu ekranu za pomocą PhantomJS. Napisałem prosty plik JS, aby to zrobić:PhantomJS nie załadował Map Google
var page = require('webpage').create();
page.open('https://www.google.com/maps', function(status) {
console.log('State: ' + status);
if(status === 'success') {
page.render('example.pdf', {format: 'pdf', quality: '100'});
}
phantom.exit();
});
ta zwraca błąd:
ReferenceError: Can't find variable: google
próbowałam to na lokalnym pliku html i na innych stronach internetowych za pomocą mapy google i trzymam otrzymuję ten sam błąd. Udało mi się zrobić zrzut ekranu z innych stron bez map google. Przeszukując internet, wygląda na to, że ludzie nie mieli takich problemów i odnieśli sukces, robiąc zrzuty ekranu stron z mapami google ... więc zastanawiam się, co może być nie tak.
Inna uwaga: Zainstalowałem PhantomJS jako klejnot w moim projekcie szyn i używam tego pliku javascript przez konsolę szyn. Próbowałem go przy użyciu standardowej instalacji PhantomJS (v 2.0.0) i nadal nie działa.
Spróbuj uruchomić z '--ignore-SSL-errors = TRUE opcji poleceń. –
Mogę uruchomić przykładowy kod dobrze z 'phantomjs script.js'. Ale należy wziąć pod uwagę: płytki mapy Google (lub dane wektorowe w tych dniach) są ładowane asynchronicznie, może być konieczne dodanie 'window.setTimeout' z czasem oczekiwania wynoszącym kilka sekund wokół wewnętrznego bloku' page.open' więc strona jest renderowana jako PDF po pełnym załadowaniu. Poza tym twój PDF będzie pusty/szary. – chrki
Rozwiązanie @ArtjomB nie działa dla mnie :( – JustGage