Search code examples
google-chromechromiumpuppeteerheadlessgoogle-chrome-headless

Puppeteer when running in full (non-headless) is always black on all websites


I just got started with puppeteer, I'm it on full mode to learn how it works and create my tests. It worked fine for the first few runs but then the browser turns to black.

Here is how it looks like: screenshot

I reinstalled all npm packages (removed project and cloned it back from git and then installed them again), this time too it worked for a few runs then I got this black page problem.

const createBrowser = async (
  email: string,
  proxy?: string
): Promise<puppeteer.Browser> => {
  const userDataDir = `profiles/${slugify(email)}`;
  const browser = await puppeteer.launch({
    headless: process.env.NODE_ENV === "dev",
    userDataDir,
    args: ["--no-sandbox"]
  });

  return browser;
};

const createPage = async (
  browser: puppeteer.Browser
): Promise<puppeteer.Page> => {
  const page = await browser.newPage();

  await preparePageForTests(page);

  return page;
};

Solution

  • Try to set the defaultViewport property with null value.

     const browser = await puppeteer.launch({
       headless: process.env.NODE_ENV === "dev",
       defaultViewport: null,
       args: ["--no-sandbox"],
       userDataDir
     });