diff --git a/src/drivers/npm/driver.js b/src/drivers/npm/driver.js index 16f5f6ea8..3a345e60d 100644 --- a/src/drivers/npm/driver.js +++ b/src/drivers/npm/driver.js @@ -13,8 +13,12 @@ function next() { return new Promise((resolve) => setImmediate(resolve)) } -const { AWS_LAMBDA_FUNCTION_NAME, CHROMIUM_BIN, CHROMIUM_DATA_DIR } = - process.env +const { + AWS_LAMBDA_FUNCTION_NAME, + CHROMIUM_BIN, + CHROMIUM_DATA_DIR, + CHROMIUM_WEBSOCKET, +} = process.env let puppeteer let chromiumArgs = [ @@ -342,12 +346,20 @@ class Driver { this.log('Launching browser...') try { - this.browser = await puppeteer.launch({ - ignoreHTTPSErrors: true, - acceptInsecureCerts: true, - args: chromiumArgs, - executablePath: await chromiumBin, - }) + if (CHROMIUM_WEBSOCKET) { + this.browser = await puppeteer.connect({ + ignoreHTTPSErrors: true, + acceptInsecureCerts: true, + browserWSEndpoint: CHROMIUM_WEBSOCKET, + }) + } else { + this.browser = await puppeteer.launch({ + ignoreHTTPSErrors: true, + acceptInsecureCerts: true, + args: chromiumArgs, + executablePath: await chromiumBin, + }) + } this.browser.on('disconnected', async () => { this.log('Browser disconnected')