A Puppeteer egy nyílt forráskódú java keretrendszer, amelyet node-js könyvtárral fejlesztettek ki. A Puppeteer képes webkaparó eszközként működni. Tesztautomatizálásként is használható web alapú alkalmazásokhoz, akárcsak a szelén web-illesztőprogram. A Puppeteer népszerűsége gyorsan növekszik a tesztautomatizálás terén. A Puppeteer oktatóanyag végigjátszásának előfeltétele a parancssor, a JavaScript, az OOP-koncepció és a HTML DOM-struktúra alapvető ismerete. A teljes Bábos bemutató az alábbi tartalomjegyzékben említett témákra oszlik.
Bábos bemutató
1. Tosca oktatóanyag: Bábos áttekintése
Tosca oktatói # 2: Bábos környezeti változók
Tosca oktatói # 3: A Puppeteer Web Scraping és Puppeteer Test Automation áttekintése
Tosca oktatói # 4: Telepítse a Puppeteer programot
Ebben a cikkben Bábos bemutató, elmagyarázzuk a Bábos áttekintését és a Bábos környezeti változókat.
Bábos áttekintése
A Puppeteer egy nyílt forráskódú java keretrendszer, amelyet node-js könyvtárral fejlesztettek ki. A Puppeteer a devtool protokollon keresztül képes vezérelni a Chrome böngészőt a magas szintű alkalmazási felület (API) segítségével. A Puppeteer fejes és fej nélküli króm böngészőket is képes vezérelni.
A Puppeteer keretrendszert a Google vezeti be. Ami a funkcionalitást illeti, ez nem új koncepció. De megkönnyíti a munkát. Alapvetően a tevékenységek listáját foglalja össze egy tömörített csomagban.

Hogyan működnek a bábosok?
- A Puppeteer a Node JS könyvtárat használja.
- A Node JS lehetővé teszi a magas szintű API-k használatát.
- Az API-k képesek vezérelni a Chrome böngészőt a devtool protokollon keresztül.
- Alapértelmezés szerint a Puppeteer fej nélküli Chrome böngészőkkel működik, de az alapértelmezett konfiguráció megváltoztatásával kölcsönhatásba léphet a fej nélküli Chrome böngészőkkel is.
Chrome DevTools Protocol:
A Chrome DevTools Protocol használatával az olyan eszközök, mint a Puppeteer, képesek műszerezni, ellenőrizni, hibakeresni és profilozni a villogó alapú böngészőket, például a Chromiumot, a Chrome-ot stb.
Itt a böngésző műszerezése számos tartományra van felosztva, mint például DOM, Debugger, Network stb. A minden tartomány elmagyarázza a különböző támogatott parancsokat és a generált eseményeket.
A Puppeteer jellemzői:
- A Chrome böngészőn keresztüli manuális folyamatok automatizálhatók.
- Képes képernyőképet készíteni bármely weboldalról, és létrehozza a képernyőképet vagy pdf-fájlt.
- A Puppeteer segítségével egyoldalas alkalmazás fejleszthető szerveroldali renderelésből.
- Ellenőrzőpontokkal automatizálhatja a webes űrlapok benyújtását, a felhasználói felület tesztelését, a billentyűzet bevitelét stb.
- Több irányítást biztosít a Chrome böngésző felett.
- Az alapértelmezett fej nélküli mód nagyon gyors.
- Támogatja a webkaparást.
- Lehetőség a megjelenítés és a betöltési idő mérésére a Chrome teljesítményelemző eszközeivel.
Puppeteer vs Puppeteer-core:
A Puppeteer 1.7.0-s verziója óta, két csomag alatti verzió, minden kiadásban elérhető –
- bábjátékos-mag csomag
- bábjátékos csomag
Puppeteer-core csomag:
Bábos-mag egy java-alapú csomóponti könyvtár, amely bármilyen műveletet képes végrehajtani, amely támogatja a DevTools protokollt. A Puppeteer-core nem tölti le a Chromiumot a telepítés során. Könyvtárként a Puppeteer-core teljes mértékben a programozott felületén keresztül működik. Ezenkívül a Puppeteer-core szolgáltatásait nem lehet minden PUPPETEER_* env változóval testreszabni. Az alapvető parancs a Puppeteer-core telepítéséhez –
npm install puppeteer-core
# or "yarn add puppeteer-core"
A Puppeteer-core használatakor az include utasítások az alábbiak szerint fognak kinézni –
const puppeteer = require('puppeteer-core')
Mikor kell használni a Puppeteer-Core-t:
- A Puppeteer projekt fejlesztése a meglévő Chrome böngésző DevTools protokollon keresztüli használatához, ahol nincs szükség további króm letöltésre.
- Egy másik végfelhasználói termék vagy könyvtár fejlesztése a DevTools protokollon felül. Például egy projekt létrehozhat egy képernyőkép-generátort a puppeteer-core használatával, és egyéni setup.js szkriptet írhat, amely a Chromium helyett a headless_shell fájlt tölti le a tárhely megtakarítása érdekében.
Bábos csomag:
Bábjátékos egy teljes termék a Chrome vagy Chromium böngésző automatizálásához. A telepítés során letölti a Chromium legfrissebb verzióját, majd ezt követően puppeteer-core hajtotta. Végfelhasználói termékként a Puppeteer támogatja az összes PUPPETEER_* env változót viselkedésének testreszabásához. Az alapvető parancs a Puppeteer telepítéséhez –
npm install puppeteer
# or "yarn add puppeteer"
A Puppeteer használatakor adjon meg olyan kijelentéseket, amelyek az alábbiak szerint fognak kinézni:
puppeteer = require(‘puppeteer’)
A Puppeteer és a Puppeteer-core közötti különbség:
- A Puppeteer-core nem tölti le automatikusan a Chromium böngészőt a telepítés során.
- A Puppeteer-core nem veszi figyelembe az összes PUPPETEER_* env változót.
- A legtöbb projektben a Puppeteer termékcsomagot használjuk.
Fej nélküli Chrome:
A fej nélküli króm azt jelenti, hogy a Puppeteer háttéralkalmazásként kölcsönhatásba lép egy Chrome böngészővel, ami azt jelenti, hogy a krómozott felhasználói felület nem látható a képernyőn. Alapértelmezés szerint a Puppeteer fej nélküli krómként indítja el az alkalmazást. Kódminta a Headless Chrome elindításához –
Ebben a példában a fej nélküli krómot nyitjuk meg, azaz a Chrome UI nem lesz látható. Ezt úgy lehet megtenni, hogy a fej nélküli zászlót a Puppeteer.launch metódusnak hűként adjuk át.
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: true });
// Specify statements for Headless Chrome operations
await browser.close();
})();
Fejlő Chrome:
A fejtetős króm azt jelenti, hogy a Puppeteer olyan króm böngészővel működik együtt, amelynél a képernyőn látható a Chrome felhasználói felület. Alapértelmezés szerint a Puppeteer fej nélküli krómként indítja el az alkalmazást. Kódminta a Headful Chrome elindításához –
Ebben a példában megnyitjuk a számunkra látható krómot. Megtehető úgy, hogy a fej nélküli zászlót hamisként adjuk át a Puppeteer.launch() metódusnak.
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: false});
// Specify statements for Headless Chrome operations
await browser.close();
})();
Bábos környezeti változók
A Puppeteer előre meghatározott környezeti változókkal dolgozik, hogy támogassa működését. Ha a Puppeteer nem találja meg a környezeti változókat a telepítés során, akkor ezeknek a változóknak a kisbetűs változatát fogja használni az npm konfigurációból (az NPM konfigurációs fájlt kezeli). A Puppeteer-core csomag nem veszi figyelembe a környezeti változókat. A Puppeteer legfontosabb környezeti változói a következők:
- PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: Arra utasítja, hogy ne töltse le a csomagban lévő Chromiumot a telepítési lépés során.
- PUPPETEER_DOWNLOAD_HOST: Felülírja a Chromium letöltéséhez használható URL előtagot.
- PUPPETEER_DOWNLOAD_PATH: Felülírja a letöltési mappa elérési útját. Az alapértelmezett elérési út – " /.local-chromium/” ahol a bábjáték csomaggyökere.
- HTTP_PROXY, HTTPS_PROXY, NO_PROXY: Ezek a változók határozzák meg a proxybeállításokat a Chromium letöltéséhez a telepítés során.
- PUPPETEER_CHROMIUM_REVISION: Meghatározza a Chromium egy adott verzióját, amelyet a Puppeteer használ.
- PUPPETEER_EXECUTABLE_PATH: Meghatározza a Puppeteer.launch metódusban használandó végrehajtható elérési utat.
- PUPPETEER_PRODUCT: Meghatározza, hogy a Puppeteer melyik böngészőt használja. Az értéknek chrome vagy firefox kell lennie.
Következtetés:
Ebben a bevezető cikkben a Puppeteer oktatóprogramról megismerkedtünk a Bábjátékosok áttekintésével és a Puppeteer környezeti változóival. A következő cikkben a Bábos bemutató, megismerjük a Puppeteer Web Scraping és Puppeteer Test Automation áttekintését. kérem kattintson itt hogy látogassa meg a Bábos oktatóprogram referenciaportálját. Továbbá kérjük kattintson itt hogy megtanulja a szelént a LambdaGeekstől.