Samouczek lalkarza – doskonały podręcznik do nauki samouczka lalkarza 1 i 2

Puppeteer to framework Java o otwartym kodzie źródłowym, opracowany przy użyciu biblioteki node-js. Puppeteer może pracować jako narzędzie do skrobania sieci. Może być również używany jako automatyzacja testów dla aplikacji internetowych, podobnie jak sterownik sieciowy Selenium. Popularność Puppeteera szybko rośnie w zakresie automatyzacji testów. Warunkiem koniecznym do przejścia przez samouczek Puppeteer jest podstawowa znajomość wiersza poleceń, JavaScript, koncepcji OOP i struktury HTML DOM. Kompletny Samouczek lalkarza jest podzielony na tematy wymienione w poniższym spisie treści. 

Samouczek lalkarza

Samouczek Tosca nr 1: Przegląd lalkarza

Tosca Poradnik # 2: Zmienne środowiskowe lalkarza

Tosca Poradnik # 3: Przeszukiwanie sieci lalkarza i automatyzacja testów lalkarza - przegląd

Tosca Poradnik # 4: Zainstaluj Puppeteer 

W tym artykule z Samouczek lalkarza, wyjaśnimy o przeglądzie lalkarza i zmiennych środowiskowych lalkarza. 

Przegląd lalkarza

Puppeteer to framework Java o otwartym kodzie źródłowym, który jest rozwijany za pomocą biblioteki node-js. Puppeteer jest w stanie kontrolować przeglądarkę Chrome przez protokół devtool za pomocą interfejsu aplikacji wysokiego poziomu (API). Lalkarz jest w stanie kontrolować zarówno przeglądarki chrome z głową, jak i bez głowy. 

Framework Puppeteer został wprowadzony przez Google. Jeśli chodzi o funkcjonalność, nie jest to nowa koncepcja. Ale to ułatwia pracę. Zasadniczo podsumowuje listę działań w zwartym pakiecie.

Poradnik lalkarza - lalkarz
Samouczek lalkarza – Lalkarz

Jak działają lalkarze?

  • Puppeteer korzysta z biblioteki Node JS.
  • Node JS umożliwia korzystanie z interfejsów API wysokiego poziomu.
  • Interfejsy API mogą sterować przeglądarką Chrome za pośrednictwem protokołu devtool.
  • Domyślnie Puppeteer współpracuje z bezgłowymi przeglądarkami Chrome, ale może również wchodzić w interakcje z przeglądarkami Chrome z głową, zmieniając domyślną konfigurację.

Protokół Chrome DevTools:

Korzystając z protokołu Chrome DevTools, narzędzia takie jak Puppeteer są w stanie instrumentować, sprawdzać, debugować i profilować przeglądarki oparte na miganiu, takie jak Chromium, Chrome itp.

Tutaj instrumentacja przeglądarki jest podzielona na kilka domen, takich jak DOM, Debugger, Network, itp. Każda domena wyjaśnia różne obsługiwane polecenia i generowane zdarzenia.

Funkcje lalkarza:

  • Ręczne procesy za pośrednictwem przeglądarki Chrome mogą być zautomatyzowane.
  • Może przechwytywać zrzut ekranu dowolnej strony internetowej i generować obraz lub plik PDF zrzutu ekranu.
  • Aplikację jednostronicową można opracować z renderowania po stronie serwera za pomocą Puppeteer.
  • Może zautomatyzować przesyłanie formularzy internetowych, testowanie interfejsu użytkownika, wprowadzanie danych z klawiatury itp. Za pomocą punktów kontrolnych.
  • Zapewnia większą kontrolę nad przeglądarką Chrome.
  • Domyślny tryb bezgłowy jest bardzo szybki.
  • Obsługuje skrobanie sieci.
  • Możliwość pomiaru renderowania i czasu ładowania za pomocą narzędzi do analizy wydajności Chrome.

Lalkarz kontra lalkarz-rdzeń:

Od wersji Puppeteer v1.7.0, poniżej dwa pakiety są dostępne w każdym wydaniu -

  • pakiet rdzenia lalecznika
  • pakiet lalkarza

Pakiet podstawowy lalkarza:

Rdzeń lalkarza jest biblioteką Node opartą na java, która jest w stanie wykonać dowolną operację obsługującą protokół DevTools. Rdzeń Puppeteer nie pobiera Chromium podczas instalacji. Jako biblioteka, rdzeń Puppeteer jest całkowicie obsługiwany przez interfejs programistyczny. Ponadto funkcje rdzenia Puppeteer nie mogą być dostosowywane przez wszystkie zmienne env PUPPETEER_ *. Podstawowe polecenie do zainstalowania rdzenia Puppeteer - 

npm install puppeteer-core
# or "yarn add puppeteer-core"

Podczas korzystania z puppeteer-core, instrukcje dołączania będą wyglądać jak poniżej -

const puppeteer = require('puppeteer-core')

Kiedy używać Puppeteer-Core:

  • Aby opracować projekt Puppeteer, aby używać istniejącej przeglądarki Chrome w protokole DevTools, gdzie dodatkowe pobieranie chromu nie jest wymagane.
  • Aby opracować inny produkt lub bibliotekę dla użytkownika końcowego na podstawie protokołu DevTools. Na przykład jeden projekt może zbudować generator zrzutów ekranu przy użyciu puppeteer-core i napisać niestandardowy skrypt setup.js, który pobierze headless_shell zamiast Chromium, aby zaoszczędzić miejsce.

Pakiet lalkarza:

Lalkarz to kompletny produkt do automatyzacji przeglądarki Chrome lub Chromium. Podczas instalacji pobiera najnowszą wersję Chromium, a potem jest sterowany przez puppeteer-core. Jako produkt dla użytkownika końcowego, Puppeteer obsługuje wszystkie zmienne env PUPPETEER_ *, aby dostosować swoje zachowanie. Podstawowe polecenie instalacji Puppeteer - 

npm install puppeteer
# or "yarn add puppeteer"

Korzystając z Puppeteer, dołącz stwierdzenia, które będą wyglądać jak poniżej -

puppeteer = require(‘puppeteer’)

Różnica między rdzeniem Puppeteer i Puppeteer:

  • Puppeteer-core nie pobiera przeglądarki Chromium automatycznie podczas instalacji.
  • Puppeteer-core nie bierze pod uwagę wszystkich zmiennych env PUPPETEER_ *.
  • W większości projektów korzystamy z pakietu produktów Puppeteer.

Bezgłowy Chrome:

Bezgłowy chrom oznacza, że ​​Puppeteer wchodzi w interakcję z przeglądarką Chrome jako aplikacją w tle, co oznacza, że ​​Chrome UI nie jest widoczny na ekranie. Domyślnie Puppeteer uruchamia aplikację jako bezgłowy chrome. Przykładowy kod do uruchomienia Headless Chrome - 

W tym przykładzie otwieramy bezgłowy chrome, tzn. Chrome UI nie będzie widoczny. Można to zrobić, przekazując flagę headless jako wartość true do metody Puppeteer.launch ().

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  // Specify statements for Headless Chrome operations  
  await browser.close();
})();

Głowny Chrome:

Głowny chrom oznacza, że ​​Puppeteer wchodzi w interakcję z przeglądarką Chrome, dla której Chrome UI jest widoczny na ekranie. Domyślnie Puppeteer uruchamia aplikację jako bezgłowy chrome. Przykładowy kod do uruchomienia Headful Chrome - 

W tym przykładzie otwieramy chrom, który jest dla nas widoczny. Można to zrobić, przekazując flagę headless jako false do metody Puppeteer.launch ().

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: false});
  // Specify statements for Headless Chrome operations  
  await browser.close();
})();

Zmienne środowiskowe lalkarza

Puppeteer współpracuje z predefiniowanymi zmiennymi środowiskowymi, aby wspierać swoje operacje. Jeśli Puppeteer nie znajdzie zmiennych środowiskowych podczas instalacji, zostanie użyty wariant tych zmiennych z małą literą z konfiguracji npm (zarządza plikiem konfiguracji NPM). Zmienne środowiskowe nie są uwzględniane w pakiecie Puppeteer-core. Najważniejsze zmienne środowiskowe Lalkarza to - 

  • PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: Instruuje, aby nie pobierać dołączonego Chromium na etapie instalacji.
  • PUPPETEER_HOSTA_POBIERANIA: Zastępuje prefiks adresu URL, którego można użyć do pobrania Chromium. 
  • PUPPETEER_DOWNLOAD_PATH: Zastępuje ścieżkę folderu pobierania. Ścieżka domyślna to - „ /.local-chromium/ ”, gdzie to katalog główny pakietu lalkarza.
  • HTTP_PROXY, HTTPS_PROXY, NIE_PROXY: Te zmienne definiują ustawienia proxy do pobierania Chromium podczas instalacji.
  • PUPPETEER_CHROMIUM_REVISION: Określa konkretną wersję Chromium, która ma być używana przez lalkarza.
  • PUPPETEER_EXECUTABLE_PATH: Określa ścieżkę do pliku wykonywalnego, która ma być używana w metodzie Puppeteer.launch. 
  • PRODUKT PUPPETEER_: Określa, która przeglądarka ma być używana przez Puppeteer. Wartością musi być chrome lub firefox. 

Wnioski:

W tym artykule wprowadzającym do samouczka Puppeteer, dowiedzieliśmy się o przeglądzie Puppeteer i zmiennych środowiskowych Puppeteer. W następnym artykule Samouczek lalkarza, dowiemy się o przeglądzie Puppeteer Web Scraping i Puppeteer Test Automation. Proszę kliknąć tutaj aby odwiedzić portal referencyjny dla tego samouczka lalkarza. Proszę również kliknąć tutaj uczyć się selenu od LambdaGeeks.

Zostaw komentarz