I Playwright kunye nePuppeteer zezinye zezona zixhobo zidumileyo zokuzenzakalela ibrawuza, kodwa zahlukile ekusebenzeni nasezakhonweni. Kweli nqaku, sizakuzithelekisa ukuze sikuncede ugqibe ukuba yeyiphi ekulungeleyo iimfuno zakho. Nangona kunjalo, kubalulekile ukukhumbula ukuba njengoko iiwebhusayithi ziba nzima ukufikelela ngemiyalezo ezenzekelayo, ukusebenza kakuhle kwekhodi yikota yemfazwe. Yiyo loo nto sikwangena kuxoxe malunga nendlela zinokunceda ukunqanda ukuphazamiseka kunye nokunyusa ukuzenzakalela ngokuthembekileyo, ngezikhombisi zezikhokelo zokudibanisa ezibonelelweyo zombini izitolo. izisombululo ze proxy Yintoni iPlaywright? IPlaywright yinkqubo entsha, enye yazo zonke ezaphuhliswa yiMicrosoft ukuze kugqityezwe ukuvavanya kunye nokuzenzakalela ibrawuza. Ivumela abaphuhlisi ukuba badibane nezicelo zewebhu kuzo zonke iinjini zangoku - iChromium (iChrome & iEdge), iFirefox, kunye neWebKit (injini yeSafari) - kwiWindows, Linux, kunye nemacOS. Ngelixa yakhelwe kwi , iPlaywright ixhasa iilwimi ezininzi zenkqubo, kubandakanywa iJavaScript, iTypeScript, iPython, iJava, kunye ne.NET (C#), iyenza ibe sisixhobo esidibanisa yonke into kubavelisi abaneendlela ezahlukeneyo zobuchwepheshe. Kwi-web scraping, ukukwazi kwePlaywright ukulawula iindawo ezininzi ezizimeleyo zebrawuza (nganye enee-cookies zayo kunye noseto lwe-proxy) kuvumela ukugqithiswa kwedatha okusebenza kakuhle, okuhambelanayo ngaphandle kweendleko zememori yeenkqubo ezininzi zebrawuza. Node.js Ubunzima obubalulekileyo bePlaywright kukuthembeka kwayo. Ifaka ukulinda okuzenzekelayo, okuqinisekisa ukuba izinto ziyasebenza phambi kokuba kwenziwe unxibelelwano, kunciphisa kakhulu ukungazinzi kovavanyo. Ikwayixhasa ubrawuza obuninzi obuninzi, obuvumela ukuba ugcine amaphepha amaninzi okanye ii-iframe ngaphakathi kwinqanaba elinye lebrawuza. Ngaphaya kokuzenzakalela okupheleleyo, ibonelela ngokubanjwa kwenethiwekhi, ukurekhodwa kwevidiyo, kunye nokulinganisa izixhobo eziphathwayo. Ngokukhawuleza ukuba kuthelekiswa nePuppeteer, iPlaywright ngokukhawuleza yaba ngumntu ophambili kweli candelo. Ukukwazi kwayo ukuhambisa iziphumo ezingaguqukiyo, ezidibanisa iibrawuza kunye nomsebenzi wayo wokuzalisa ovuyisayo oyenza ibe lukhetho oluphezulu kuphuhliso lwewebhu lwangoku. Yintoni iPuppeteer? I-Puppeteer yinkqubo enye yazo zonke yelayibrari eyaphuhliswa yiGoogle yokwenza ibrawuza yeChrome kunye neyasekelwe kwiChromium. Ingakumbi yakhelwe kwiChrome DevTools Protocol (CDP), inika abaphuhlisi ulawulo phezu kwee-browser internals, iyenza ibe lula, ngokukhawuleza, kwaye yenzelwe imisebenzi yeChrome kuphela. Node.js I-Puppeteer isebenza kwiindlela zombini ezingenamabrawuza kunye nezinamabrawuza. Yinkqubo eqhelekileyo ye-web scraping, ukuveliswa kwePDF, kunye nokuthatha imifanekiso-skrini ezenzekelayo. Ngenxa yokudibanisa kwayo ne-Chromium engine, ihlala ifumana ukufikelela kwiimpawu ezintsha zebrawuza ngaphambi kwezinye iinkqubo zokuzenzakalela. Ngelixa iPuppeteer igqama kwindalo yeChromium (kubandakanywa neMicrosoft Edge), izakhono zayo zokudibanisa iibrawuza azikho kakhulu njengokhuphiswano olufana nePlaywright. Ngokomzekelo, nangona ngoku ibonelela ngenkxaso eqinileyo kwiFirefox ngeprojekthi yeWebDriver BiDi, isaswele inkxaso yeWebKit (Safari). IPuppeteer yakhelwe ngokukodwa kwindalo ye-Node.js kwaye ibonelela kuphela ngeJavaScript kunye neTypeScript. Ngelixa kukho iinguqulelo ezingekho semthethweni ezinje ngePyppeteer kwiPython, ezi projekthi zoluntu azihlali zifumana uhlaziyo oluqhelekileyo olunikezelwa yinkqubo ephambili. Ngaphandle kwenkxaso yolwimi oluncinci, iPuppeteer ihlala ingomnye weengqekelelo eziphambili ngenxa yobulula bayo, isantya, kunye nenkxaso enkulu yoluntu kulwazi lweChrome. Ukuthelekiswa kwePlaywright vs. Puppeteer: Kushwankathele Kubo abo bafuna impendulo ekhawulezileyo, nantsi ithebula lokuthelekisa le-TL:DR Playwright vs. Puppeteer: Impawu IPlaywright I-Puppeteer Injongo ephambili Ukudibanisa iibrawuza, ukuzenzakalela, kunye nokukrwelana Ukuzenzakalela okugxininisiweyo kweChromium kunye nokukrwelana Iinkqubo ezixhasiweyo Windows, macOS, Linux Windows, macOS, Linux Inkxaso yolwimi JavaScript, TypeScript, Python, Java, .NET (C#) JavaScript & TypeScript Inkxaso yebrawuza Chromium, Firefox, WebKit Chromium, Firefox (ngeWebDriver BiDi) Uzakhiwo Umdibanisi osasekelwe kwiWebSocket (uqinisekisa zonke iiprothokholi) I-Chrome DevTools Protocol (CDP) / WebDriver BiDi Umgcini Asynchronous & synchronous Asynchronous Ukuseta imowudi Imowudi enamabrawuza & engenamabrawuza (zombini ziyasebenza) Imowudi enamabrawuza & engenamabrawuza (zombini ziyasebenza) Umaxwebhu Ilungile; igxile kuvavanyo nasekuboneleleni ngeziphoso Igqwesile; ivuthiwe kwaye ilula Inkxaso yoluntu Indawo enkulu; uluntu olukhulu Indawo enkulu; uluntu olukhulu Indlela yokulinda Ukulinda okuzenzekelayo (ukuthembeka okubandakanyiweyo) Ukulinda ngesandla (kufuna i ) waitForSelector Ukuthelekiswa kwenkxaso yebrawuza Inguquko yePlaywright enye ingundoqo yiyo inkxaso yayo yendalo kuzo zonke iinjini ezintathu ezinkulu zebrawuza: iChromium, iFirefox, kunye neWebKit. Eyokugqibela yenza iPlaywright ibe lolukhetho lokuba nabani na ofuna ukuqinisekisa ukuba iiwebhusayithi zabo zisebenza ngokugqibeleleyo kwi-iOS okanye kwi-macOS, njengoko ingalinganisa indlela yeSafari ngeWebKit kuso nasiphi na isixokelelwano sokusebenza. Ngokuchaseneyo, iPuppeteer ihlala iyilayibrari egxile kwiChromium. Nangona iyenze yaba yinto eqinileyo kwaye yakhulula ngokusemthethweni inkxaso yebrawuza yokuqala ngeprothokholi yeWebDriver BiDi, isaswele inkxaso yeWebKit. Ukuba ufuna uvavanyo lweSafari okanye ujonge amava okudibanisa iibrawuza, iPlaywright iseyona ngqekelelo ecacileyo. Zombini izitolo zikwahlukile kwindlela ezilawula ngayo iibrawuza. IPlaywright iziswa kunye neenguqulelo zayo "ezilungisiweyo" zeebrawuza ezikhoyo. Ezi zilungiso zenze ukuba iPlaywright ibonelele nge-APIs ezantsi ezingekho kwiibrawuza eziqhelekileyo. Ikwavumela izakhono ezifana nokulinda okuzenzekelayo kunye nokubanjwa kwenethiwekhi ephuculweyo. Nangona kunjalo, kukho ukubambisa. Ngenxa yokuba ezi brawuza zilungisiwe, kukho umngcipheko ongathandekiyo wokuba uvavanyo lungaphumelela kwi-browser yePlaywright elungisiweyo, kodwa luphumelele kwi-browser yokwenyani. I-Puppeteer, ngakolunye uhlangothi, yenze igama layo elidumileyo kwiChrome DevTools Protocol (CDP). Namhlanje, iyagqithisela kwiWebDriver BiDi, umgangatho omtsha weshishini. Oku kusisiseko kuthetha ukuba iPuppeteer isebenza ngokusondeleyo neenguqulelo zebrawuza ezikhoyo ezibonelelwa ngabavelisi, oku kudla kuthetha ukuthembeka okungcono kwexesha elide kunye nomngcipheko ophantsi weziphumo ezingezizo ngexesha lovavanyo. Iinketho zolwimi zenkqubo Isixhobo sisebenza kuphela njengoko simanziweyo kukuhambelana nolwazi oluqhelekileyo lweqela lakho. Yiyo loo nto xa kufikwa kukhetho lolwimi lwenkqubo, ukhetho phakathi kwePlaywright kunye nePuppeteer luhlala lufumaneka kubuchwepheshe bakho. IPlaywright yenzelwe ngengqiqo ye-polyglot - yenziwe ukuze ifikeleleke phantse kulo naliphi na iqela lophuhliso lwangoku. Ngelixa injini engundoqo ibhalwe kwiTypeScript/ , iMicrosoft ibonelela kwaye igcine izibophelelo zolwimi ezikumgangatho ophezulu kwiJavaScript, iTypeScript, iPython, iJava, kunye neC#/.NET. Okuninzi kakhulu, ngenxa yokuba ezi zizibophelelo ezisemthethweni, ufumana ukuhambelana kwezakhono kuzo zonke iilwimi - impawu ekhutshwe kwi ifumaneka phantse kwangoko kubasebenzisi bePython okanye beJava. Node.js Node.js I-Puppeteer, ngakolunye uhlangothi, yiyona layibrari ye kuphela eyenzelwe iJavaScript kunye neTypeScript. Ukuba usebenza ngaphakathi kwinkqubo ye-JS, iPuppeteer izakuziva ngathi yindawo eyongezweyo yenkqubo yakho. Kodwa ukuba ungumphuhlisi wePython, ngokuphazamiseka ubambekile kunye nelayibrari esemthethweni yePuppeteer. Ewe, kukho iinguqulelo ezingekho semthethweni ezifana nePyppeteer kwiPython, kodwa ezi projekthi ziqhutywa ziqhutywa ziqhutywa kuphela kwaye azisagcinwa. Node.js Inkqubo yokufakelwa kunye nokuseta Ngoku, makhe sijonge indlela esinokusebenzisa ngayo zombini iPlaywright kunye nePuppeteer ukwenza umsebenzi osisiseko we-web scraping. Izifuno zangaphambili Ukuqalisa, kuya kufuneka ufake i (iNode Package Manager) kumatshini wakho. Ungayenza ngokulandela le . npm link Emva koko, ungavula i-terminal yakho kwaye usebenzise le miyalelo ukudala ifolda entsha kwaye uqalise iprojekthi entsha yeNode. Oku kudla kwenza ifayile ye ngaphakathi kwidirektori. package.json mkdir playwright-pupeteer cd playwright-pupeteer npm init -y Ukufakelwa kweelayibrari Ngoku ukuba iprojekthi isetelwe, masifake zombini iPlaywright kunye nePuppeteer kwiprojekthi yangoku. Ungayenza ngokusebenzisa le miyalelo: npm install puppeteer npm install playwright npx playwright install Njengoko ungabona, kufuneka sisebenzise umyalelo owongezelelweyo we xa sifaka iPlaywright. Oku kungenxa yokuba iPlaywright ayibandakanyi ibrawuza ehlanganisiweyo ngokungagqibekanga. Kufuneka usebenzise umyalelo wokugqibela okhankanyiweyo ukufaka iibrawuza ezizenzekelayo ezinikezela ngazo. npx playwright install I-Puppeteer, ngakolunye uhlangothi, inebrawuza efakwe ngokungagqibekanga; ngoko ke, akukho myalelo owongezelelweyo ufunekayo. Ukukrwelana newebhusayithi ngePlaywright Ngoku ukuba ukuseta kwethu kugqityiwe, makhe sijonge indlela onokuyisebenzisa ngayo iPlaywright ukukrwelana newebhusayithi. Siza kusebenzisa i njengendawo ekujoliswe kuyo yokukrwelana kulo mzekelo. Njengoko i-sandbox iyalinganisa indawo yokuthenga izinto ezithenga izinto, sizakukrwelana isihloko kunye nesimo sesitokhwe sencwadi nganye kwiphepha. Oxylabs Sandbox Masimale ngokuphuhlisa ifayile yeJavaScript ebizwa ngokuba yi ngaphakathi kwifolda yeprojekthi yakho. Nje ukuba uyifumene, kufuneka ufake ubuxhakaxhaka be- ukusuka kwiphakheji yePlaywright. Nantsi into ebumele ukuba ibonakale ngayo: playwright.js chromium import { chromium } from 'playwright'; Okulandelayo, masenze amanyathelo okuqala ezicelo ezininzi zePlaywright: ukuvula ibrawuza kunye nokuhamba uye kwindawo ethile yewebhu. Singaqala ngokuchaza i-URL ye-sandbox yokukrwelana kwindawo etshintshwayo ngale ndlela: const URL = 'https://sandbox.oxylabs.io/products'; Ngoku, masimale ibrawuza kwaye sivule iphepha elitsha ngale ndlela: const browser = await chromium.launch(); const page = await browser.newPage(); Nje ukuba sinayo ingingqi yethu, sinokuqala inkqubo yokukrwelana. Yongeza ezi migqa ukuhambisa iphepha kwi-URL echaziweyo ngaphambili: await page.goto(URL); await page.waitForLoadState('networkidle'); Umgca wesibini uqinisekisa ukuba zonke izinto zifakwe ngaphambi kokuba siqale ukukrwelana, ukuze singaphoswa yidatha esiyifunayo. Ngoku ukuba idatha ifakiwe, sinokuphuhlisa isikhangeli esilula se-CSS ukukhetha imveliso nganye ukusuka kwiwebhusayithi. Imveliso nganye kwi-sandbox ineklasi ye-CSS ye , ngoko ke makhe siyisebenzise njengesikhangeli sethu. .product-card Ukuyenza loo nto, makhe sidale umsebenzi ongaziwayo kwisixhobo se-page's method esigqibela sibuyise imveliso nganye kwidatha ekrwelweyo. Kufuneka ibonakale ngale ndlela: evaluate const products = await page.evaluate(() => { }) Ngaphakathi komsebenzi ongaziwayo, makhe sicaphule zonke iimveliso kwiphepha ngale ndlela: const products = await page.evaluate(() => { const productCards = document.querySelectorAll('.product-card'); }) Okulandelayo, kufuneka sidibanise ikhadi ngalinye lemveliso kwaye sibeke isihloko kunye nesimo sesitokhwe kwisinto elitsha. Njengoko isimo sesitokhwe singenayo iklasi ye-CSS eqhelekileyo, sizakukhetha ubhalo lwe kunye ne ngokwahlukeneyo kwaye sizithelekise ukugqiba ukuba yeyiphi engeyiyo. Nantsi into ebumele ukuba ibonakale ngayo: Out of Stock In Stock const products = await page.evaluate(() => { const productCards = document.querySelectorAll('.product-card'); return Array.from(productCards).map(card => { const inStock = card.querySelector('p.in-stock')?.innerText; const outOfStock = card.querySelector('p.out-of-stock')?.innerText; const title = card.querySelector('h4.title')?.innerText; return { title: title, stockStatus: inStock ? 'In Stock' : outOfStock ? 'Out of Stock' : '' }; }); }) Emva koko, sinokulog uze ukhuphe iimveliso ezibuyisiweyo kunye nesitatimende esilula sokungena, kwaye sicime ibrawuza ngale ndlela: console.log(products); await browser.close() Ukuba uyasebenzisa ikhowudi, kufuneka ubone okungathi kolo ludidi kwisikhululo sakho: [ { title: 'The Legend of Zelda: Ocarina of Time', stockStatus: 'In Stock' }, { title: 'Super Mario Galaxy', stockStatus: 'Out of Stock' }, { title: 'Super Mario Galaxy 2', stockStatus: 'In Stock' }, { title: 'Metroid Prime', stockStatus: 'Out of Stock' }, { title: 'Super Mario Odyssey', stockStatus: 'In Stock' }, { title: 'Halo: Combat Evolved', stockStatus: 'Out of Stock' }, ... ] Nantsi inkqubo epheleleyo ebumele ukuba ibonakale ngayo: import { chromium } from 'playwright'; const URL = 'https://sandbox.oxylabs.io/products'; const browser = await chromium.launch(); const page = await browser.newPage(); await page.goto(URL); await page.waitForLoadState('networkidle'); const products = await page.evaluate(() => { const productCards = document.querySelectorAll('.product-card'); return Array.from(productCards).map(card => { const inStock = card.querySelector('p.in-stock')?.innerText; const outOfStock = card.querySelector('p.out-of-stock')?.innerText; const title = card.querySelector('h4.title')?.innerText; return { title: title, stockStatus: inStock ? 'In Stock' : outOfStock ? 'Out of Stock' : '' }; }); }); console.log(products); await browser.close(); Okulandelayo, makhe sijonge indlela esingenza ngayo umsebenzi ofanayo usebenzisa iPuppeteer. Ukukrwelana newebhusayithi ngePuppeteer Ukuqalisa, makhe sidale enye ifayile kwi-directory efanayo ebizwa ngokuba yi . puppeteer.js Nje ukuba uyifumene, ungayivula kwaye ufake ilayibrari ye . Njengoko kukhankanyiwe ngaphambili, iPuppeteer ihlanganisa iChrome, ngoko ke akufuneki sifake ubuxhakaxhaka bebrawuza eyongezelelweyo. Ukufaka i ngale ndlela kwanele: puppeteer puppeteer import puppeteer from "puppeteer"; Okunye kwenkqubo kuhlala kufana nemzekelo wePlaywright, ngaphandle kwezimbalwa ezincinci. Njengangaphambili, sivula ibrawuza, sivula iphepha, sihamba siye kwi-URL ye-sandbox yokukrwelana, kwaye sikrwele idatha. Nantsi into ebumele ukuba ibonakale ngayo: import puppeteer from "puppeteer"; const URL = "https://sandbox.oxylabs.io/products"; const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto(URL); await page.waitForNetworkIdle(); const products = await page.evaluate(() => { const productCards = document.querySelectorAll(".product-card"); return Array.from(productCards).map((card) => { const inStock = card.querySelector("p.in-stock")?.innerText; const outOfStock = card.querySelector("p.out-of-stock")?.innerText; const title = card.querySelector("h4.title")?.innerText; return { title: title, stockStatus: inStock ? "In Stock" : outOfStock ? "Out of Stock" : "", }; }); }); console.log(products); await browser.close(); Ubudibaniso kunye nobungafaniyo Ukungafaniyo kuphela phakathi kwale mimiselo bubungqina bokuba ilayibrari nganye iphatha njani ukulinda imeko yenethiwekhi ukuba itshintshe. KwiPlaywright, kufuneka sichaze ngokucacileyo ukuba yeyiphi imeko yenethiwekhi esiyilindileyo kwisichasi senkqubo, ngale ndlela: await page.waitForLoadState("networkidle"); Ngelixa iPuppeteer ibonisa inkqubo eyahlukileyo yokulinda ukuba inethiwekhi ibe ne-idle, ngale ndlela: await page.waitForNetworkIdle(); Ngokuqinisekileyo, ukungafaniyo okungakumbi kungabonakala njengoko ujongana nemizekelo ephuculweyo. Nangona kunjalo, lo mzekelo omncinci ubonisa ukuba, ngaphandle kwezimbalwa ezahlukeneyo, zombini iPlaywright kunye nePuppeteer zenza imisebenzi esisiseko ngendlela efanayo. Uyilo lweAPI kunye nokulula kokusetyenziswa Ukuba wake wabhala imiyalezo yebrawuza eyasebenza ngokugqibeleleyo kumatshini wakho kodwa ingenele ngokungafaniyo kwi-cloud, uye wafumana ukungazinzi. Indlela ezombini ezi layibrari ziphatha ngayo ixesha lokufakwa kwephepha yeyona nto ibalulekileyo kumboniso wobomi bakho ophazamisayo (okanye obulungileyo). IPlaywright yakhelwe ukusombulula ingxaki yokungazinzi, yazisa iingcamango ezimbini: - kwiindawo ezininzi zokuzenzakalela, ukuba utshele imiyalezo ukuba "cofa iqhosha lokungena," ingazama ukuyicofa ngaphambi kokuba iqhosha ligqibelele ukufakwa, ibangela ukuba imiyalezo iphazamiseke. IPlaywright ilinde ngokuzenzekelayo ukuba into ibe nokusetyenziswa - iyajonga ukuba iqhosha libonakala, liyazinzisa, kwaye linikwe amandla - phambi kokuba izame ukucofa. Ukulinda okuzenzekelayo - umchazi yindlela yokuchaza indlela yokufumana into (umzekelo, "fumana iqhosha elithi Hanjiswa"). Ngokungafaniyo neendlela ezindala ezifumana into kanye kwaye emva koko ziyilahle ukuba iphepha liyayigqitha, iPlaywright Locator ihlala iyinto ebukhoma kwaye izakuyifumana kwakhona xa uyifuna. Abachazi I-Puppeteer ingezona ezandla - ikunika izixhobo zokudibana nebrawuza, kodwa ayenzi ezininzi umsebenzi osindayo kuwe. Ngokomzekelo, kwiPuppeteer, kufuneka utshele imiyalezo kanye xa ilindela. Emva kwexesha elithile, uzakufumana ubhala okuthile okufana ne phambi kwalo naliphi na inyathelo. Ukuba uyalibala umyalelo wokulinda okanye indawo ithatha ixesha elingaphezu komyinge ukufakwa, imiyalezo yakho mhlawumbi iphumelele. Ke, ungazuza ulawulo oluninzi, kodwa kufuneka ubhale nemigca emininzi yekhowudi ukuphatha imisebenzi efanayo iPlaywright encedisa ngayo ngokuzenzekelayo. await page.waitForSelector('.login-btn') Ukusebenza kunye nesantya Akukho lutho oluthe tye oluvunyiweyo ngokweshishini xa kufikwa kwi layibrari ekhawulezayo, kuba ixhomekeke ngokupheleleyo kwisikali seprojekthi yakho. Nangona kunjalo, zombini izixhobo zikhawuleza kakhulu kuneenkqubo ezindala, ezifana neSelenium, nangona zineemodeli ezahlukeneyo zokusebenza. I-Puppeteer idla ngokuba yeyona ilungele imiyalezo emfutshane, enye yenye, okanye iiprojekthi. Ngenxa yokuba yiyona layibrari elula en Nxibelelwano oluthe ngqo, olusezantsi kunye neChromium, inenyathelo elincinci kakhulu. Ukunika ingqalelo kwisantya sokuqalisa, iPuppeteer ingavula ibrawuza kwaye yenze umyalelo olula (umzekelo, ukuthatha umfanekiso-skrini wenqanaba elinye) ngokukhawuleza kunePlaywright kwiinqanaba ezininzi. Kanjani? Kungenxa yokuba ayinazo ii-layers ezongezelelweyo iPlaywright ezisebenzisa ukuxhasa iilwimi ezininzi kunye neentlobo zebrawuza. Ke, ukuba injongo yakho kukuqhuba amawaka emisebenzi emincinci neyeyona yona, iPuppeteer kunzima ukubetha. Ngokuchaseneyo, iPlaywright isebenza ngakumbi kwiimeko ezintsonyiweyo, ezinamaphepha amaninzi enkosi kwisici sayo seBrowserContexts. Masilithelekise nePuppeteer: kwiPuppeteer, ukuba ufuna ukuqhuba izikhundla ezili-10 zokukrwelana ezahlukeneyo ezinezinto ezizimeleyo, kufuneka uvule iinkqubo ezi-10 zebrawuza ezahlukeneyo. Le nkqubo ithathwa njengenzima kwaye isebenzisa i-RAM ebalulekileyo. Oko iPlaywright ikuvumela ukuba ukwenze kukuvula inkqubo enye yebrawuza kwaye udale amashumi eendawo ezizimeleyo ngaphakathi kuyo - indawo nganye isebenza njengenkqubo entsha yebrawuza, kodwa yabelana ngememori efanayo. Ngenxa yoko, iPlaywright isebenzisa i-CPU kunye nememori encinci kakhulu kunePuppeteer xa isebenza kwivolumu ephezulu. Umaxwebhu kunye nenkxaso yoluntu I-Puppeteer ibiyinkqubo yoshishino