Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未处理的PromisejectionWarning:ReferenceError:运行Puppeter时未定义浏览器?_Javascript_Node.js_Google Chrome Devtools_Puppeteer_Headless Browser - Fatal编程技术网

Javascript 未处理的PromisejectionWarning:ReferenceError:运行Puppeter时未定义浏览器?

Javascript 未处理的PromisejectionWarning:ReferenceError:运行Puppeter时未定义浏览器?,javascript,node.js,google-chrome-devtools,puppeteer,headless-browser,Javascript,Node.js,Google Chrome Devtools,Puppeteer,Headless Browser,我刚开始使用木偶演员,我想抓取某个网站的一些数据,但我收到了这些警告,我没有在控制台上显示任何数据 为什么我会收到以下警告,我如何才能消除它们 以下是我使用的代码: const puppeteer = require("puppeteer"); (async () => { // prepare for headless chrome const browser = await puppeteer.launch(); const page = await browser.ne

我刚开始使用木偶演员,我想抓取某个网站的一些数据,但我收到了这些警告,我没有在控制台上显示任何数据

为什么我会收到以下警告,我如何才能消除它们

以下是我使用的代码:

const puppeteer = require("puppeteer");

(async () => {
  // prepare for headless chrome
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  // set user agent (override the default headless User Agent)
  await page.setUserAgent(
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36"
  );

  // go to website home page
  await page.goto("https://www.nytimes.com/");
  await page.waitForSelector("body");
  // get the User Agent on the context of Puppeteer
  const userAgent = await page.evaluate(() => navigator.userAgent);
  var rposts = await page.evaluate(() => {
    postItems = [];
    let posts = document.body.querySelectorAll(".assetWrapper");
    posts.forEach((item) => {
      try {
        title = item.querySelector("h2").innerText;
        link = item.querySelector("a").href;
        summary = item.querySelector("p").innerText;
        postItems.push({ title: title, link: link, summary: summary });
      } catch (e) {}
    });
    var items = {
      posts: postItems,
    };
    return items;
  });
  // If everything correct then no 'HeadlessChrome' sub string on userAgent
  console.log(userAgent);
  console.log(rposts);
  await browser.close();
})();

以下是我得到的错误: (节点:4072)未处理的PromisejectionWarning:引用错误:未定义浏览器
(节点:15452)未经处理的Promisejection警告:引用错误:初始化前无法访问“页面”

创建无头浏览器,然后您可以使用这些代码

    const browser = await puppeteer.launch({
        headless: false
    });
问候,