【问题标题】:How to know if a puppeteer instance already exists?如何知道 puppeteer 实例是否已经存在?
【发布时间】:2018-05-10 14:58:09
【问题描述】:

我有多个想要同时运行的 puppeteer 脚本,直到现在我为每个脚本使用多个浏览器,但现在我只想使用一个浏览器,多个脚本在不同页面中同时运行。

我的目标是连接到已经存在的 puppeteer 实例,如果不存在则创建一个(这个新创建的实例也将被我的其他脚本使用)。

我怎样才能做到这一点?我知道puppeteer.connect()。 我想实现以下逻辑

Browser.js:
if(puppeteer instance exists){
  return browser.wsEndpoint()
} else {
  browser = await puppeteer.launch();
  return browser.wsEndpoint();
}

在我的脚本文件中:

puppeteer.connect(call browser.js);

这样,每当我调用 browser.js 时,我总会得到一个 puppeteer 实例。

【问题讨论】:

    标签: javascript node.js puppeteer


    【解决方案1】:

    虽然通常是不好的做法,但解决问题的最佳方法可能是使用全局变量。

    使用以下代码:

    global.browser = 等待 puppeteer.launch(opts);

    然后只需在代码中的其他任何地方使用 browser.whateveryoulike

    【讨论】:

      猜你喜欢
      • 2016-09-23
      • 1970-01-01
      • 2020-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      • 2018-03-07
      • 1970-01-01
      相关资源
      最近更新 更多