2

我只想从第一个脚本启动一个 Chromium 实例,然后从其他脚本附加到它。我知道 puppeteer.connect() 但问题是我启动了应该启动 Chromium 的脚本:

const puppeteer = require('puppeteer');
const fs = require('fs');
const logger = fs.createWriteStream('log.txt', {
  flags: 'a' // 'a' means appending (old data will be preserved)
});

(async() => {
  const browser = await  puppeteer.launch({ headless: false});
  logger.write('-----Browser is launched\n');
  logger.write(browser.wsEndpoint());
})();

...它永远不会结束,因为我没有做 browser.close()。因此,我无法开始运行其他脚本。如何启动 Chromium,获取其端点并结束剩余的 Chromium 启动的脚本。

这个不包含适当的答案)

4

1 回答 1

-2

回答问题

  • 基本上,您可以child_process将 detached 设置为 true。然后退出您的主脚本process.exit()以启动 Chromium 参见1.js

  • 负责启动 Chromium 并保存 Web 套接字的脚本参见chromiumLauncher.js

  • 保存 web socket 后,您可以通过 puppeteer.launch 进行连接,参见2.js

在这里,我将它推送到 github 上(脏代码)。

于 2017-10-21T16:06:44.473 回答