

log( "CHILD: url received from parent process", url) Ĭonst browser = await puppeteer. 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. The setuid sandbox comes as a standalone executable and is located next to the Chromium that Puppeteer downloads. 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. I think it is related to this issue, but also could be related to my corporate proxy.Const browser = await puppeteer. Puppeteer is a Node.js library developed by Google that provides a high-level API for controlling headless Chrome or Chromium over the DevTools Protocol. I can't tell you why because I don't remember. Should give you a more detailed output from puppeteer, instead of the generic error. It is also worth adding dumpio: true to your options to debug. Setsebool -P unconfirmed_chrome_sandbox_transition 0 If Arch Linux uses SELinux, you may also have to run this: Pango libXcomposite libXcursor libXdamage libXext libXi libXtst cups-libs libXScrnSaver libXrandr GConf2 alsa-lib atk gtk3 ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc liberation-mono-fonts liberation-narrow-fonts liberation-narrow-fonts liberation-sans-fonts liberation-serif-fonts glib2 Some are duplicates from your question, but I don't think they all are: I also don't know what the Arch Linux equivalents are.

I had to install all of these libraries manually. This is straight from my docs, but I had to hand-jam the contents because my docs are on an intranet.

I had to do the following to get puppeteer working. I should also mention this is for RHEL EC2 instances behind a corporate proxy (not Arch Linux), but I still feel like it may help.

There's too much for me to put this in a comment, so I will summarize here.
