
It's been a challenge to run headless Chromium on Azure Functions, especially in the Consumption (serverless) plan. Azure Functions support for headless Chromium They automatically install Chromium and can use it without extra configuration. Puppeteer and Playwright each support a different set of browsers. It's interesting to note that some of the folks who worked on Puppeteer are now working on Playwright.

Google maintains Puppeteer and Microsoft maintains Playwright. More recently, Puppeteer and Playwright have gained in popularity. Selenium WebDriver was a pioneer in this space. Browser automation with Puppeteer and Playwrightīrowser automation has been around for a long time. This enables some serverless browser automation scenarios using popular frameworks such as Puppeteer and Playwright. puppeteerrc.cjs (or a recent update to Azure Functions, it is now possible to run headless Chromium in the Linux Consumption plan. Puppeteer uses several defaults that can be customized through configurationįor example, to change the default cache directory Puppeteer uses to installīrowsers, you can add a. Include $HOME/.cache into the project's deployment.įor a version of Puppeteer without the browser installation, see

Your project folder (see an example below) because not all hosting providers Heroku, you might need to reconfigure the location of the cache to be within If you deploy a project using Puppeteer to a hosting provider, such as Render or The browser is downloaded to the $HOME/.cache/puppeteer folderīy default (starting with Puppeteer v19.0.0). When you install Puppeteer, it automatically downloads a recent version ofĬhrome for Testing (~170MB macOS, ~282MB Linux, ~280MB Windows) that is guaranteed to
