2017-10-18 122 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上(髒碼)。