Переглянути джерело

Merge pull request #651 from fgrehm/browser-server-param

New --browser-server param for CLI
Gildas 4 роки тому
батько
коміт
64113af2dc
2 змінених файлів з 7 додано та 1 видалено
  1. 2 0
      cli/args.js
  2. 5 1
      cli/back-ends/puppeteer.js

+ 2 - 0
cli/args.js

@@ -31,6 +31,7 @@ const args = require("yargs")
 	})
 	.default({
 		"back-end": "puppeteer",
+		"browser-server": "",
 		"browser-headless": true,
 		"browser-executable-path": "",
 		"browser-width": 1280,
@@ -87,6 +88,7 @@ const args = require("yargs")
 	})
 	.options("back-end", { description: "Back-end to use" })
 	.choices("back-end", ["jsdom", "puppeteer", "webdriver-chromium", "webdriver-gecko", "puppeteer-firefox", "playwright-firefox", "playwright-chromium"])
+	.options("browser-server", { description: "Server to connect to (puppeteer only for now)" })
 	.options("browser-headless", { description: "Run the browser in headless mode (puppeteer, webdriver-gecko, webdriver-chromium)" })
 	.boolean("browser-headless")
 	.options("browser-executable-path", { description: "Path to chrome/chromium executable (puppeteer, webdriver-gecko, webdriver-chromium)" })

+ 5 - 1
cli/back-ends/puppeteer.js

@@ -33,7 +33,11 @@ const NETWORK_STATES = ["networkidle0", "networkidle2", "load", "domcontentloade
 let browser;
 
 exports.initialize = async options => {
-	browser = await puppeteer.launch(getBrowserOptions(options));
+	if (options.browserServer) {
+		browser = await puppeteer.connect({ browserWSEndpoint: options.browserServer });
+	} else {
+		browser = await puppeteer.launch(getBrowserOptions(options));
+	}
 	return browser;
 };