![]() ![]() Worker has a single execution context and facilitates interacting with WebWorkers.A Frame might have additional execution contexts that are associated with extensions. Frame has at least one execution context - the default execution context - where the frame's JavaScript is executed.There might be other frames created by iframe or frame tags. Page has at least one frame: main frame.BrowserContext instance defines a browsing session and can own multiple pages.Browser instance can own multiple browser contexts.Puppeteer communicates with the browser using DevTools Protocol.NOTE On the following diagram, faded entities are not currently represented in Puppeteer. The Puppeteer API is hierarchical and mirrors the browser structure. log( "CHILD: url received from parent process", url) Ĭonst browser = await puppeteer.Puppeteer is a Node library which provides a high-level API to control Chromium or Chrome over the DevTools Protocol. The code snippet below is a simple example of running parallel downloads with Puppeteer.Ĭonst downloadPath = path. □ If you are not familiar with how child process work in Node I highly encourage you to give this article a read. We can combine the child process module with our Puppeteer script and download files in parallel. ![]() Child process is how Node.js handles parallel programming. We can fork multiple child_proces in Node. Our CPU cores can run multiple processes at the same time. □ Learn more about the single threaded architecture of node here ![]() Therefore if we have to download 10 files each 1 gigabyte in size and each requiring about 3 mins to download then with a single process we will have to wait for 10 x 3 = 30 minutes for the task to finish. It can only execute one process at a time. You see Node.js in its core is a single-threaded system. However, if you have to download multiple large files things start to get complicated. In this next part, we will dive deep into some of the advanced concepts. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |