1 | const chromeLauncher = require('chrome-launcher');
|
2 |
|
3 | module.exports = async function createInstance(log, options) {
|
4 | const flags = [
|
5 | '--disable-background-timer-throttling',
|
6 | '--disable-default-apps',
|
7 | '--disable-device-discovery-notifications',
|
8 | '--disable-gpu',
|
9 | '--disable-popup-blocking',
|
10 | '--disable-renderer-backgrounding',
|
11 | '--disable-translate',
|
12 | '--headless',
|
13 | '--no-default-browser-check',
|
14 | '--no-first-run'
|
15 | ].concat(options.chromeFlags || []);
|
16 |
|
17 | const opts = Object.assign({}, options.chromeLauncher, {
|
18 | chromeFlags: [...new Set(flags)],
|
19 | logLevel: options.logLevel
|
20 | });
|
21 |
|
22 | const instance = await chromeLauncher.launch(opts);
|
23 |
|
24 | log.info('Chrome Instance launched');
|
25 |
|
26 | return instance;
|
27 | };
|