首页 > 解决方案 > Node.js:如果使用 Pupeteer 打开,则关闭浏览器

问题描述

我正在使用进行处理Puppeteer,我正在关闭浏览器,例如使用browser.close()类似这样的东西

  const browser = await puppeteer.launch({
    headless: true,
    executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
  });
  try {
  // more processing
  browser.close();
  // more processing
  } catch(err) {
  console.log(err);
  browser.close();
}

我在 catch 块中使用,但有时发生异常时browser.close();browser.close() 已经在块中执行。try

我想知道是否有办法检查 browser.open 是否存在?并仅在这种情况下发出 browser.close() 。

在这方面的任何帮助都会非常棒。谢谢。

标签: javascriptnode.js

解决方案


看看try...catch

您应该添加 finally 块并在那里添加浏览器关闭:)

finally-block 包含要在 try-block 和 catch-block(s) 执行之后、但在 try...catch...finally-block 之后的语句之前执行的语句。请注意,无论是否抛出异常,finally 块都会执行。此外,如果抛出异常,即使没有 catch 块处理异常,finally 块中的语句也会执行。

编辑 1

在了解该问题是检测浏览器是否关闭后,我编辑并输入了该问题puppeteer 的解决方案:如何检查浏览器是否仍然打开并工作


推荐阅读