Puppeteer не реагирует на редирект из за асинхронной функции

Puppeteer не реагирует на редирект из за асинхронной функции permissionsTest, если вернуть просто значение из данной функции все работает. В чем может быть проблема?

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({dumpio: true});
  const page = await browser.newPage();
  const response = await page.goto('http://localhost:8001');
  const [, page2] = await browser.pages();
  console.log(page2.url());

  await browser.close();
})();

Код на странице - http://localhost:8001

const tests = [
  permissionsTest,
];

window.addEventListener('DOMContentLoaded', async () => {

  await analyze();

  window.location.href = 'https://google.com';
});

async function analyze() {
  let br = 0;

  for (let test of tests) {
    br += await test();
  }

  return br;
}

async function permissionsTest() {
  let permissionStatus = await navigator.permissions.query({name: 'notifications'});

  if (Notification.permission === 'denied' && permissionStatus.state === 'prompt') {
    return 20;
  }

  return 0;
}

Ответы (1 шт):

Автор решения: E_K

Проблема оказалась в том, что Puppeteer не дожидался выполнения асинхронных скриптов на странице.

Решилась добавлением опции waitUntil.

await page.goto('http://localhost:8001', { waitUntil: "networkidle2" });
→ Ссылка