0
In puppeteer , when i want to use console.log from evaluate , it triggers me an error

const puppeteer = require('puppeteer');

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

  const page = await browser.newPage();
  page.on('console', msg => console.log('PAGE LOG:', ...msg.args));
  await page.goto('http://google.com',  {waitUntil: 'load'});
  await page.evaluate(async() => console.log('url is ${location.href}'));
  browser.close();
})();  

(节点:70544)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝 id:1):TypeError:未定义不可迭代(节点:70544)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

你知道如何处理这个吗?

4

1 回答 1

1

msg.args值未定义,因此当您尝试使用扩展运算符 ( ...msg.args) 时,它会失败。

要么记录msg.args,要么将其包装在一个空/未定义的检查中

于 2017-10-24T19:27:04.260 回答