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

Tutorial ng Puppeteer - Pangkalahatang-ideya ng Puppeteer

Ang Puppeteer ay isang open-sourced java framework na binuo sa node-js library. Ang Puppeteer ay may kakayahang magtrabaho bilang isang tool sa pag-scrap ng web. Maaari din itong magamit bilang isang pagsubok na awtomatiko para sa mga application na batay sa web tulad ng selenium web driver. Ang katanyagan ng Puppeteer ay mabilis na nadagdagan para sa pagsubok na awtomatiko. Ang paunang mga kinakailangan upang maglakad sa pamamagitan ng Puppeteer Tutorial, ay pangunahing kaalaman sa linya ng utos, JavaScript, konsepto ng OOP at istraktura ng HTML DOM. Ang kumpletong tutorial ng Puppeteer ay ipinamamahagi sa mga paksa na nabanggit 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 Puppeteer Tutorial, ipapaliwanag namin ang tungkol sa Pangkalahatang-ideya ng Puppeteer at Mga Variable ng Kapaligiran ng Puppeteer. 

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.

Puppeteer Tutorial - Puppeteer
Puppeteer Tutorial - 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
  • puppeteer package

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();
})();

Headful 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 Puppeteer Tutorial, natutunan namin ang tungkol sa pangkalahatang-ideya ng Puppeteer at Mga Variable ng Kapaligiran ng Puppeteer. Sa susunod na artikulo ng puppeteer tutorial, malalaman natin ang 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.

Tungkol kay K Mondal

Puppeteer Tutorial– Isang Mahusay na Gabay sa Pag-aaral ng Puppeteer Tutorial 1 & 2Kumusta, ako si K. Mondal, naiugnay ako sa isang nangungunang samahan. Mayroon akong 12+ taon na karanasan sa pagtatrabaho sa mga domain hal, pag-unlad ng application, pagsubok sa automation, IT Consultant. Lubhang interesado akong matuto ng iba't ibang mga teknolohiya. Narito ako upang matupad ang aking hangarin at kasalukuyang nagbibigay ng kontribusyon bilang isang May-akda at Developer ng Website kapwa sa LambdaGeeks.
Kumonekta sa LinkedIn- https://www.linkedin.com/in/kumaresh-mondal/

Mag-iwan ng komento

Ang iyong email address ay hindi ilalathala. Ang mga kailangang field ay may markang *

en English
X