Używam Firefoksa na Xvfb na VPS. Chcę zrobić pełny zrzut ekranu strony.
Mogę przekierować Firefoksa na określoną stronę za pomocą
firefox http://google.com
i zrób zrzut ekranu (wewnątrz X) za pomocą ImageMagick
import root -window output.jpg
Problem polega na tym, że większość strony wymaga przewijania i wcześniej nie znam wysokości.
Innym sposobem jest wybranie bardzo dużej wysokości (np. 4000 pikseli), a następnie przetworzenie obrazu i usunięcie niepotrzebnej części. Ale to niepotrzebne przetwarzanie.
Znalazłem wiele dodatków do Firefoksa, ale szukam rozwiązania, które można zaprogramować za pomocą wiersza poleceń Shell.
Edycja: W tym celu napisałem własne rozszerzenie FireFox .
shell
firefox
command-line
screenshot
Omar Abid
źródło
źródło
Odpowiedzi:
Developer Toolbar GCLI i Shift+ F2skrót wyjęto Firefox w wersji 60 . Aby zrobić zrzut ekranu w wersji 60 lub nowszej:
:screenshot
lub:screenshot --fullpage
Dowiedz się więcej na temat zrzutów ekranu i innych funkcji
W przypadku wersji Firefox <60:
Naciśnij Shift+ F2lub przejdź do Narzędzia> Web Developer> Pasek narzędzi programisty, aby otworzyć wiersz poleceń. Pisać:
i naciśnij Enter , aby zrobić zrzut ekranu.
Aby w pełni odpowiedzieć na pytanie, możesz nawet zapisać całą stronę, a nie tylko jej widoczną część:
Aby skopiować zrzut ekranu do schowka, użyj
--clipboard
opcji:Firefox 18 zmienia sposób przekazywania argumentów do poleceń, musisz dodać przed nimi znak „-”.
Można znaleźć w dokumentacji oraz pełną listę poleceń tutaj .
PS. Zrzuty ekranu są domyślnie zapisywane w katalogu pobrań .
źródło
right-click
->screenshot node
. Jest to bardzo pomocne, gdy chcesz wykonać zrzut ekranu sekcji strony.screenshot --clipboard --fullpage
Zrzut ekranu z określonego węzła (według Id) -screenshot --clipboard --selector #elementId
:screenshot --clipboard --fullpage
(Aktualizacja 2018-07-23
Jak właśnie wskazano w komentarzach, to pytanie dotyczyło uzyskania zrzutu ekranu z wiersza poleceń . Przepraszam, właśnie to przeczytałem. Oto poprawna odpowiedź:
Począwszy od przeglądarki Firefox 57, możesz utworzyć zrzut ekranu w trybie bezgłowym w następujący sposób:
Przeczytaj więcej w dokumentacji .
Aktualizacja 2017-06-15
Począwszy od Firefoksa 55, dostępne są zrzuty ekranu Firefox jako bardziej elastyczna alternatywa. Począwszy od przeglądarki Firefox 57, zrzuty ekranu mogą przechwytywać także całą stronę.
Oryginalna odpowiedź
Od wersji Firefox 32 w narzędziach programistycznych (F12) znajduje się również przycisk zrzutu całej strony . Jeśli nie jest włączony, przejdź do ustawień narzędzi dla programistów (przycisk koła zębatego) i wybierz „Zrób zrzut ekranu na całej stronie” w sekcji „Dostępne przyciski Zestawu narzędzi”.
źródło: developer.mozilla.org
Domyślnie zrzuty ekranu są zapisywane w katalogu pobierania. Działa to podobnie do
screenshot --fullpage
paska narzędzi.źródło
cmd
+alt
+i
W końcu napisałem niestandardowe rozwiązanie (rozszerzenie Firefox), które to robi. Myślę, że zanim go opracowałem, nie było tam wiersza poleceń wspomnianego w enreas.
Rozszerzenie Firefox to CmdShots . Jest to dobra opcja, jeśli potrzebujesz dokładniejszej kontroli nad procesem robienia zrzutu ekranu (lub chcesz dokonać modyfikacji HTML / JS i przetwarzania obrazu).
Możesz go używać i nadużywać. Postanowiłem zachować to bez licencji, więc możesz grać z nim tak, jak chcesz.
źródło
Myślę, że to, czego szukasz, to narzędzie, które umożliwia zapisanie całej strony otwartej w przeglądarce do pliku png. Najprawdopodobniej szukasz narzędzia takiego jak Commandlineprint2 .
Po zainstalowaniu rozszerzenia wystarczy wpisać polecenie:
źródło
Firefox Screenshots to nowe narzędzie dostarczane z przeglądarką Firefox. To nie jest narzędzie programistyczne, jest skierowane do użytkowników końcowych przeglądarki.
Aby zrobić zrzut ekranu, kliknij menu działań strony na pasku adresu i kliknij „zrób zrzut ekranu”. Jeśli następnie klikniesz „Zapisz całą stronę”, zapiszesz całą stronę, przewijając ją.
(źródło: mozilla.net )
źródło
Możesz używać selenu i webdrivera dla Firefoksa.
źródło