Puppeteer Tutorial– Isang Mahusay na Gabay sa Pag-aaral ng Puppeteer Tutorial 1 & 2

Ang Puppeteer ay isang open-sourced java framework na binuo gamit ang node-js library. Ang Puppeteer ay may kakayahang magtrabaho bilang isang web scraping tool. Maaari rin itong magamit bilang isang pagsubok na automation para sa mga web based na application tulad ng selenium web driver. Ang katanyagan ng Puppeteer ay mabilis na tumataas para sa pag-automate ng pagsubok. Ang mga paunang kinakailangan upang maisagawa ang Tutorial sa Puppeteer, ay pangunahing kaalaman sa command line, JavaScript, konsepto ng OOP at istruktura ng HTML DOM. Ang kumpleto Tutorial sa puppeteer ay ipinamamahagi sa mga paksang binanggit sa ibaba ng talahanayan ng nilalaman. 

Tutorial ng Puppeteer

Tosca Tutorial # 1: Pangkalahatang-ideya ng Puppeteer

Tosca Sangguni # 2: Mga variable ng Kapaligiran ng Puppeteer

Tosca Sangguni # 3: Puppeteer Web Scraping at Pangkalahatang-ideya ng Puppeteer Test Pangkalahatang-ideya

Tosca Sangguni # 4: I-install ang Puppeteer 

Sa artikulong ito ng Tutorial ng Puppeteer, ipapaliwanag namin ang tungkol sa Puppeteer Overview at Puppeteer Environment Variables. 

Pangkalahatang-ideya ng Puppeteer

Ang Puppeteer ay isang open-sourced java framework na binuo sa node-js library. Nagawang kontrolin ng puppeteer ang Chrome browser sa devtool protocol sa tulong ng high-level application interface (API). Ang Puppeteer ay magagawang kontrolin ang parehong ulo at walang ulo na mga chrome browser. 

Ang balangkas ng Puppeteer ay ipinakilala ng Google. Tulad ng pag-andar, hindi ito isang bagong konsepto. Ngunit ginagawang mas madali ang trabaho. Pangunahin, naglalagom ito ng isang listahan ng mga aktibidad sa pamamagitan ng isang siksik na package.

Tutorial sa Puppeteer - Puppeteer
Tutorial ng Puppeteer – Puppeteer

Paano gumagana ang Mga Puppeteer?

  • Gumagamit ang Puppeteer ng Node JS library.
  • Pinapayagan ng Node JS na gamitin ang mga mataas na antas na API.
  • May kakayahang kontrolin ng mga API ang browser ng Chrome sa devtool na protokol.
  • Bilang default, gumagana ang Puppeteer sa mga browser na walang ulo na Chrome ngunit maaari itong makipag-ugnay sa mga mabait na browser ng Chrome pati na rin sa pamamagitan ng pagbabago ng default na pagsasaayos.

Protocol ng Chrome DevTools:

Gamit ang Chrome DevTools Protocol, ang mga tool tulad ng Puppeteer ay makakagamit ng instrumento, mag-inspeksyon, mag-debug at i-profile ang mga browser na batay sa blink tulad ng Chromium, Chrome, atbp.

Dito, ang instrumento ng browser ay nahahati sa isang bilang ng mga domain tulad ng DOM, Debugger, Network, atbp. Ipinapaliwanag ng bawat domain ang lahat ng iba't ibang mga sinusuportahang utos at mga nabuong kaganapan.

Mga Tampok ng Puppeteer:

  • Ang mga manu-manong proseso sa pamamagitan ng browser ng Chrome ay maaaring awtomatiko.
  • Maaari nitong makuha ang screenshot ng anumang web page at bumubuo ng imahe o pdf file ng screenshot.
  • Ang isang solong aplikasyon ng pahina ay maaaring mabuo ng pag-render ng panig ng server gamit ang Puppeteer.
  • Maaari nitong i-automate ang pagsusumite ng form sa web, pagsubok sa UI, pag-input ng keyboard, atbp., Na may mga checkpoint.
  • Nagbibigay ito ng higit na kontrol sa browser ng Chrome.
  • Ang default na mode na walang ulo ay napakabilis.
  • Sinusuportahan nito ang web scraping.
  • Kakayahang sukatin ang pag-render at pag-load ng tiyempo gamit ang mga tool sa pagtatasa ng pagganap ng Chrome.

Puppeteer vs Puppeteer-core:

Dahil ang bersyon ng Puppeteer v1.7.0, sa ibaba ng dalawang mga pakete, ay magagamit sa bawat paglabas -

  • puppeteer-core na pakete
  • pakete ng puppeteer

Puppeteer-core Package:

Puppeteer-core ay isang java-base Node library na nakagagawa ng anumang operasyon na sumusuporta sa DevTools protocol. Ang Puppeteer-core ay hindi nag-download ng Chromium sa panahon ng pag-install. Bilang isang silid-aklatan, ang Puppeteer-core ay ganap na hinihimok sa pamamagitan ng interface ng programatic na ito. Gayundin, ang mga tampok ng Puppeteer-core ay hindi maaaring ipasadya ng lahat ng mga variable ng PUPPETEER_ * env. Ang pangunahing utos na i-install ang Puppeteer-core - 

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

Kapag gumagamit ng puppeteer-core, magsama ng mga pahayag ay magiging katulad sa ibaba -

const puppeteer = require('puppeteer-core')

Kailan gagamitin ang Puppeteer-Core:

  • Upang makabuo ng proyekto ng Puppeteer na gumamit ng umiiral na Chrome browser sa DevTools protocol kung saan hindi kinakailangan ng karagdagang pag-download ng chromium.
  • Upang makabuo ng isa pang produkto ng end-user o silid-aklatan sa tuktok ng DevTools protocol. Halimbawa, ang isang proyekto ay maaaring bumuo ng isang generator ng screenshot gamit ang puppeteer-core at magsulat ng isang pasadyang script ng setup.js na nag-download ng headless_shell sa halip na Chromium upang makatipid ng imbakan.

Pakete ng Puppeteer:

puppeteer ay isang kumpletong produkto para sa pag-automate ng Chrome o Chromium browser. Sa panahon ng pag-install, ini-download nito ang pinakabagong bersyon ng Chromium, at pagkatapos nito, hinimok ito ng puppeteer-core. Bilang isang end-user na produkto, sinusuportahan ng Puppeteer ang lahat ng mga variable ng PUPPETEER_ * env upang ipasadya ang pag-uugali nito. Ang pangunahing utos na i-install ang Puppeteer - 

npm install puppeteer
# or "yarn add puppeteer"

Kapag gumagamit ng Puppeteer, isama ang mga pahayag na magiging katulad sa ibaba -

puppeteer = require(‘puppeteer’)

Pagkakaiba sa pagitan ng Puppeteer at Puppeteer-core:

  • Ang puppeteer-core ay hindi awtomatikong nai-download ang browser ng Chromium habang naka-install.
  • Ang puppeteer-core ay hindi isinasaalang-alang ang lahat ng mga variable ng PUPPETEER_ * env.
  • Sa karamihan ng mga proyekto, gumagamit kami ng package ng produkto ng Puppeteer.

Walang ulo na Chrome:

Ang ibig sabihin ng headless chrome na ang Puppeteer ay nakikipag-ugnay sa isang chrome browser bilang isang background application, na nangangahulugang ang chrome UI ay hindi nakikita sa screen. Bilang default, inilulunsad ng Puppeteer ang application bilang walang ulo na chrome. Sampol ng code upang ilunsad ang Headless Chrome - 

Sa halimbawang ito, binubuksan namin ang chrome na walang ulo, ibig sabihin, hindi makikita ang Chrome UI. Maaari itong magawa sa pamamagitan ng pagpasa ng bandila na walang ulo bilang totoo sa Puppeteer.launch na pamamaraan ().

const puppeteer = require('puppeteer');

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

Nakakatakot na Chrome:

Ang ibig sabihin ng headful chrome na ang Puppeteer ay nakikipag-ugnay sa isang chrome browser kung saan makikita ang chrome UI sa screen. Bilang default, inilulunsad ng Puppeteer ang application bilang walang ulo na chrome. Sampol ng code upang ilunsad ang Headful Chrome - 

Sa halimbawang ito, binubuksan namin ang chrome, na nakikita sa amin. Maaari itong gawin sa pamamagitan ng pagpasa sa bandila na walang ulo bilang maling sa pamamaraang Puppeteer.launch ().

const puppeteer = require('puppeteer');

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

Mga variable ng Kapaligiran ng Puppeteer

Gumagawa ang puppeteer na may paunang natukoy na mga variable ng kapaligiran upang suportahan ang mga operasyon nito. Kung hindi nahanap ng Puppeteer ang mga variable ng kapaligiran sa panahon ng pag-install, isang lowercased na variant ng mga variable na ito ang gagamitin mula sa npm config (pinamamahalaan ang NPM Configurations file). Ang mga variable ng kapaligiran ay hindi isinasaalang-alang ng pakete na Puppeteer-core. Ang pinakamahalagang variable ng kapaligiran ng Puppeteer ay - 

  • PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: Nagtuturo ito na huwag mag-download ng bundle na Chromium habang nasa hakbang ng pag-install.
  • PUPPETEER_DOWNLOAD_HOST: Napa-overlap nito ang URL preview na maaaring magamit upang mag-download ng Chromium. 
  • PUPPETEER_DOWNLOAD_PATH: Pinapatungan nito ang landas ng folder ng pag-download. Ang path ng mga default ay - “ /.local-chromium/ ”kung saan ay ang pakete ng ugat ng puppeteer.
  • HTTP_PROXY, HTTPS_PROXY, NO_PROXY: Tinutukoy ng mga variable na ito ang mga setting ng proxy upang mai-download ang Chromium sa panahon ng pag-install.
  • PUPPETEER_CHROMIUM_REVISION: Tinutukoy nito ang isang tukoy na bersyon ng Chromium upang magamit ng Puppeteer.
  • PUPPETEER_EXECUTABLE_PATH: Tinutukoy nito ang isang maipapatupad na landas na gagamitin sa pamamaraang Puppeteer.launch. 
  • PUPPETEER_PRODUCT: Tinutukoy nito kung aling browser ang gagamitin ng Puppeteer. Ang halaga ay dapat na alinman sa chrome o firefox. 

Paghihinuha:

Sa panimulang artikulong ito sa Tutorial sa Puppeteer, natutunan namin ang tungkol sa pangkalahatang-ideya ng Puppeteer at Mga Variable ng Puppeteer Environment. Sa susunod na artikulo ng Tutorial sa puppeteer, malalaman natin ang tungkol sa pangkalahatang-ideya ng Puppeteer Web Scraping at Puppeteer Test Automation. Paki-klik dito upang bisitahin ang sanggunian portal para sa Puppeteer Tutorial na ito. Gayundin, mangyaring mag-click dito upang malaman ang Selenium mula sa LambdaGeeks.

Mag-iwan ng komento

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan *

Mag-scroll sa Tuktok