2017-10-18 64 views
1

我想从第一个脚本只启动一个Chromium实例,然后从其他脚本附加到它。我知道puppeteer.connect(),但问题是,我开始这是应该推出铬脚本:如何使用Puppeteer打开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()); 
})(); 

...它永远不会结束,因为我didn`t做browser.close()。因此,我不能开始运行其他脚本。如何启动Chromium,获取其终结点并结束Chromium发布的脚本。

This one不`吨包含一个合适的答案)

+0

你能否尝试我的答案,请接受我的答案,当你能够连接现有的铬。 –

+0

为什么没有https://stackoverflow.com/a/46364111/274673('puppeteer.connect')为你工作? – ebidel

回答

-1

答题

  • 基本上可以酿出child_process与分离设置为true。然后退出主脚本process.exit()启动Chromium,参见1.js

  • 的脚本负责启动铬和保存web套接字看到chromiumLauncher.js

  • 当网络插座被保存,您可以通过连接puppeteer.launch看到2.js

Here我推它在github上(脏码)。

相关问题