Puppeteer Tutorial – Գերազանց ուսումնական ուղեցույց տիկնիկավարի ձեռնարկ 1 & 2

Puppeteer Tutorial - Puppeteer Overview

The Puppeteer-ը բաց կոդով java շրջանակ է, որը մշակվել է node-js գրադարանով: The Puppeteer-ն ունի վեբ քերծող գործիք աշխատելու ունակություն: Այն կարող է օգտագործվել նաև որպես թեստային ավտոմատացում վեբ վրա հիմնված հավելվածների համար, ինչպես սելենի վեբ վարորդը: Puppeteer-ի ժողովրդականությունը արագորեն աճում է թեստային ավտոմատացման համար: Puppeteer Tutorial-ի միջով անցնելու նախադրյալներն են հրամանի տողի, JavaScript-ի, OOPs հայեցակարգի և HTML DOM կառուցվածքի հիմնական գիտելիքները: Ամբողջական Տիկնիկավարի ձեռնարկ բաշխված է թեմաների, որոնք նշված են ստորև բերված բովանդակության աղյուսակում: 

Տիկնիկավարի ձեռնարկ

Tosca ձեռնարկ #1: Տիկնիկավարի ակնարկ

Տոսկա Խնամակալական #2: Puppeteer միջավայրի փոփոխականներ

Տոսկա Խնամակալական #3: Puppeteer Web Scraping and Puppeteer Test Automation Overview

Տոսկա Խնամակալական #4: Տեղադրեք Puppeteer-ը 

-ի այս հոդվածում Տիկնիկավարի ձեռնարկ, մենք կբացատրենք Puppeteer Overview-ի և Puppeteer Environment Variables-ի մասին: 

Տիկնիկավարի ակնարկ

The Puppeteer-ը բաց կոդով java շրջանակ է, որը մշակվել է node-js գրադարանով: Puppeteer-ը ի վիճակի է կառավարել Chrome բրաուզերը devtool արձանագրության միջոցով բարձր մակարդակի հավելվածի միջերեսի (API) օգնությամբ: The Puppeteer-ն ի վիճակի է կառավարել ինչպես գլխավերեւ, այնպես էլ անգլուխ քրոմ բրաուզերները: 

Puppeteer շրջանակը ներկայացվել է Google-ի կողմից: Ինչ վերաբերում է ֆունկցիոնալությանը, դա նոր հայեցակարգ չէ: Բայց դա հեշտացնում է աշխատանքը: Սկզբունքորեն, այն ամփոփում է գործողությունների ցանկը սեղմված փաթեթի միջոցով:

Ինչպե՞ս են աշխատում տիկնիկավարները:

  • Puppeteer-ն օգտագործում է Node JS գրադարանը:
  • Node JS-ը թույլ է տալիս օգտագործել բարձր մակարդակի API-ներ:
  • API-ները կարող են կառավարել Chrome բրաուզերը devtool արձանագրության միջոցով:
  • Լռելյայնորեն, Puppeteer-ն աշխատում է առանց գլխի Chrome բրաուզերների հետ, սակայն այն կարող է փոխազդել նաև գլխավոր Chrome բրաուզերների հետ՝ փոխելով լռելյայն կոնֆիգուրացիան:

Chrome DevTools արձանագրություն:

Օգտագործելով Chrome DevTools Protocol-ը, գործիքները, ինչպիսիք են Puppeteer-ը, կարող են գործիքավորել, ստուգել, ​​վրիպազերծել և պրոֆիլավորել թարթման վրա հիմնված բրաուզերները, ինչպիսիք են Chromium-ը, Chrome-ը և այլն:

Այստեղ զննարկչի գործիքավորումը բաժանված է մի շարք տիրույթների, ինչպիսիք են DOM, Debugger, Network և այլն: Յուրաքանչյուր տիրույթ բացատրում է բոլոր տարբեր աջակցվող հրամանները և առաջացած իրադարձությունները:

Puppeteer-ի առանձնահատկությունները.

  • Chrome բրաուզերի միջոցով ձեռքով գործընթացները կարող են ավտոմատացվել:
  • Այն կարող է նկարահանել ցանկացած վեբ էջի սքրինշոթ և ստեղծել սքրինշոթի պատկեր կամ pdf ֆայլ:
  • Սերվերի կողմից մատուցվող մեկ էջի հավելված կարող է մշակվել Puppeteer-ի միջոցով:
  • Այն կարող է ավտոմատացնել վեբ ձևերի ներկայացումը, UI-ի փորձարկումը, ստեղնաշարի մուտքագրումը և այլն՝ անցակետերով:
  • Այն ապահովում է ավելի մեծ վերահսկողություն Chrome բրաուզերի նկատմամբ:
  • Լռելյայն առանց գլխի ռեժիմը շատ արագ է:
  • Այն աջակցում է վեբ քերծմանը:
  • Chrome-ի կատարողականի վերլուծության գործիքների միջոցով ցուցադրման և բեռնման ժամանակը չափելու ունակություն:

Puppeteer vs Puppeteer-core:

Քանի որ Puppeteer տարբերակը v1.7.0, երկու փաթեթից ներքև, հասանելի է յուրաքանչյուր թողարկումում.

  • տիկնիկավար-միջուկ փաթեթ
  • տիկնիկավարի փաթեթ

Puppeteer-core Փաթեթ:

Տիկնիկագործ-միջուկ java-base Node գրադարան է, որն ի վիճակի է կատարել ցանկացած գործողություն, որն աջակցում է DevTools արձանագրությանը: Puppeteer-core-ը չի ներբեռնում Chromium-ը տեղադրման ընթացքում: Որպես գրադարան՝ Puppeteer-core-ն ամբողջությամբ առաջնորդվում է իր ծրագրային ինտերֆեյսի միջոցով: Բացի այդ, Puppeteer-core-ի առանձնահատկությունները չեն կարող հարմարեցվել բոլոր PUPPETEER_* env փոփոխականների կողմից: Puppeteer-core-ը տեղադրելու հիմնական հրամանը. 

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

Puppeteer-core-ն օգտագործելիս ներառել հայտարարությունները նման կլինեն ստորև.

const puppeteer = require('puppeteer-core')

Երբ օգտագործել Puppeteer-Core:

  • Puppeteer նախագիծը մշակելու համար գոյություն ունեցող Chrome դիտարկիչը DevTools արձանագրության միջոցով օգտագործելու համար, որտեղ լրացուցիչ քրոմի ներբեռնում չի պահանջվում:
  • DevTools արձանագրության վրա մեկ այլ վերջնական օգտագործողի արտադրանք կամ գրադարան մշակելու համար: Օրինակ՝ մի նախագիծ կարող է ստեղծել սքրինշոթի գեներատոր՝ օգտագործելով puppeteer-core և գրել հատուկ setup.js սկրիպտ, որը ներբեռնում է headless_shell-ը Chromium-ի փոխարեն՝ պահեստը խնայելու համար:

Տիկնիկավար Փաթեթ:

Տիկնիկագործ Chrome կամ Chromium բրաուզերի ավտոմատացման ամբողջական արտադրանք է: Տեղադրման ընթացքում այն ​​ներբեռնում է Chromium-ի վերջին տարբերակը, իսկ դրանից հետո այն վարում էր puppeteer-core-ը։ Որպես վերջնական օգտագործողի արտադրանք՝ Puppeteer-ն աջակցում է բոլոր PUPPETEER_* env փոփոխականներին՝ իր վարքագիծը հարմարեցնելու համար: Puppeteer-ը տեղադրելու հիմնական հրամանը. 

npm install puppeteer
# or "yarn add puppeteer"

Puppeteer-ն օգտագործելիս ներառեք հայտարարություններ, որոնք նման կլինեն ստորև.

puppeteer = require(‘puppeteer’)

Puppeteer-ի և Puppeteer-core-ի միջև տարբերությունը.

  • Puppeteer-core-ը տեղադրման ընթացքում ավտոմատ կերպով չի ներբեռնում Chromium դիտարկիչը:
  • Puppeteer-core-ը չի դիտարկում բոլոր PUPPETEER_* env փոփոխականները:
  • Նախագծերի մեծ մասում մենք օգտագործում ենք Puppeteer արտադրանքի փաթեթը:

Անգլուխ Chrome:

Անգլուխ քրոմը նշանակում է, որ Puppeteer-ը փոխազդում է քրոմ բրաուզերի հետ որպես ֆոնային հավելված, ինչը նշանակում է, որ քրոմի միջերեսը տեսանելի չէ էկրանին: Լռելյայնորեն, Puppeteer-ը գործարկում է հավելվածը որպես անգլուխ քրոմ: Կոդի նմուշ՝ Headless Chrome-ը գործարկելու համար – 

Այս օրինակում մենք բացում ենք անգլուխ քրոմը, այսինքն՝ Chrome UI-ն տեսանելի չի լինի։ Դա կարելի է անել՝ առանց գլխի դրոշը փոխանցելով որպես հավատարիմ Puppeteer.launch մեթոդին():

const puppeteer = require('puppeteer');

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

Գլխավոր Chrome:

Գլխավոր քրոմը նշանակում է, որ Puppeteer-ը փոխազդում է Chrome դիտարկիչի հետ, որի համար Chrome UI-ը տեսանելի է էկրանին: Լռելյայնորեն, Puppeteer-ը գործարկում է հավելվածը որպես անգլուխ քրոմ: Կոդի նմուշ Headful Chrome-ը գործարկելու համար – 

Այս օրինակում մենք բացում ենք քրոմը, որը տեսանելի է մեզ։ Դա կարելի է անել՝ անգլուխ դրոշը որպես false փոխանցելով Puppeteer.launch() մեթոդին:

const puppeteer = require('puppeteer');

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

Puppeteer միջավայրի փոփոխականներ

Puppeteer-ն աշխատում է նախապես սահմանված միջավայրի փոփոխականներով՝ աջակցելու իր գործողություններին: Եթե ​​Puppeteer-ը տեղադրման ընթացքում չգտնի շրջակա միջավայրի փոփոխականները, ապա այս փոփոխականների փոքրատառ տարբերակը կօգտագործվի npm կազմաձևից (կառավարում է NPM Configurations ֆայլը): Շրջակա միջավայրի փոփոխականները հաշվի չեն առնվում Puppeteer-core փաթեթի կողմից: Puppeteer միջավայրի ամենակարևոր փոփոխականներն են. 

  • PUPPETEER_SKIP_CHROMIUM_BOWNLOADԱյն հրահանգում է չներբեռնել փաթեթավորված Chromium-ը տեղադրման քայլի ընթացքում:
  • PUPPETEER_DOWNLOAD_HOSTԱյն վերագրում է URL նախածանցը, որը կարող է օգտագործվել Chromium-ը ներբեռնելու համար: 
  • PUPPETEER_DOWNLOAD_PATHԱյն վերագրում է ներբեռնման թղթապանակի ուղին: Կանխադրված ուղին – « /.local-chromium/», որտեղ տիկնիկավարի փաթեթային արմատն է:
  • HTTP_PROXY, HTTPS_PROXY, NO_PROXY: Այս փոփոխականները սահմանում են պրոքսիի կարգավորումները՝ տեղադրման ընթացքում Chromium-ը ներբեռնելու համար:
  • PUPPETEER_CHROMIUM_REVISION՝ Այն սահմանում է Chromium-ի հատուկ տարբերակը, որն օգտագործելու է Puppeteer-ը:
  • PUPPETEER_EXECUTABLE_PATH՝ Այն սահմանում է գործարկվող ուղի, որը պետք է օգտագործվի Puppeteer.launch մեթոդում: 
  • PUPPETEER_PRODUCTԱյն սահմանում է, թե որ զննարկիչը պետք է օգտագործի Puppeteer-ը: Արժեքը պետք է լինի chrome կամ firefox: 

Եզրակացություն.

Այս ներածական հոդվածում Puppeteer Tutorial-ում մենք իմացանք Puppeteer-ի ակնարկի և Puppeteer Environment Variables-ի մասին: -ի հաջորդ հոդվածում Տիկնիկավարի ձեռնարկ, մենք կիմանանք Puppeteer Web Scraping-ի և Puppeteer Test Automation-ի ակնարկի մասին: Խնդրում ենք սեղմել այստեղ այցելել տեղեկատու պորտալ այս Puppeteer ձեռնարկի համար: Բացի այդ, խնդրում ենք սեղմել այստեղ սովորել սելեն LambdaGeeks-ից:

Թողնել Մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվելու.