在Puppeteer中的waitForNavigation之后,window.performance.timing未定义

时间:2018-04-05 14:22:23

标签: puppeteer

这可能属于我,只是不了解事情是如何运作的。

我有以下代码:

example.com/index.php?page=blog&blogid=1

想要的是获取点击按钮后加载的页面的时间统计信息。

我收到以下错误:

const puppeteer = require('puppeteer');
const USERNAME_SELECTOR = '<value>';
const PASSWORD_SELECTOR = '<value>';
const BUTTON_SELECTOR   = '<value>';
const ACCOUNT_SELECTOR  = '<value>';
const URL = '<value>';
const CREDS = require('./creds');

async function run() {
  const browser = await puppeteer.launch({
    headless: false
  });

  const pages = await browser.pages();
  const page = pages[0];

  await page.setCacheEnabled(false);
  await page.goto(LOGIN_URL);
  await page.click(USERNAME_SELECTOR);
  await page.keyboard.type(CREDS.username);
  await page.click(PASSWORD_SELECTOR);
  await page.keyboard.type(CREDS.password);

  await Promise.all([
    page.waitForNavigation({ waitUntil: 'load' }),
    page.click(BUTTON_SELECTOR),
  ]);

  await Promise.all([
    page.waitForNavigation({ waitUntil: 'load' }),
    page.click(ACCOUNT_SELECTOR),
  ]);

  const performanceTiming = JSON.parse(
    await page.evaluate(() => JSON.stringify(window.performance.timing))
    );
  console.log(performanceTiming);
  browser.close();
}

run();

检查事物,window.performance.timing似乎是“未定义的”。

我显然遗漏了一些东西,可能是根本的,但我一直无法追踪它。

任何帮助将不胜感激。感谢。

0 个答案:

没有答案