Node JS Puppeteer标头浏览器无法启动

时间:2020-05-01 09:34:21

标签: javascript node.js puppeteer chromium headless

我正在与puppeteer一起玩耍,以了解有关浏览器自动化的知识。我想打开可见的铬浏览器,所以不要一无所有。我将启动选项设置为false,但它仍然没有打开Chromium。

我尝试不使用沙箱参数,甚至在参数中取消了--disable-extensions,但没有任何帮助。.

终端中没有错误,只是没有启动。

这是我的代码:

const puppeteer = require ("puppeteer");

async () => {
  const browser = await puppeteer.launch({ headless: false });
  const page = browser.newPage();
  await page.goto("https://google.de");

  await browser.close();
};

有人知道为什么铬不能打开吗?也没有关于错误的日志...

2 个答案:

答案 0 :(得分:2)

问题

您不是在调用函数,而是通过async () => { ... }对其进行定义。这就是为什么您没有收到任何错误的原因,因为该函数未执行。此外,正如其他答案已经说过的那样,您缺少了await

解决方案

您的代码应如下所示:

(async () => {
  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage(); // missing await
  await page.goto("https://google.de");

  await browser.close();
})(); // Here, we actually call the function

答案 1 :(得分:0)

newPage()返回一个承诺,所以您应该等待它

const puppeteer = require ("puppeteer");

async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto("https://google.de");

await browser.close();
};
相关问题