[LON-CAPA-cvs] cvs: loncom /node.js/axe browser.js
raeburn
raeburn at source.lon-capa.org
Sun Jul 19 23:48:11 EDT 2026
raeburn Mon Jul 20 03:48:11 2026 EDT
Modified files:
/loncom/node.js/axe browser.js
Log:
- Support distros in which path to headless browser is /usr/bin/chromium
as well as those in which it is /usr/bin/chromium-browser.
Index: loncom/node.js/axe/browser.js
diff -u loncom/node.js/axe/browser.js:1.1 loncom/node.js/axe/browser.js:1.2
--- loncom/node.js/axe/browser.js:1.1 Thu Jul 16 00:31:10 2026
+++ loncom/node.js/axe/browser.js Mon Jul 20 03:48:11 2026
@@ -1,5 +1,5 @@
//
-// $Id: browser.js,v 1.1 2026/07/16 00:31:10 raeburn Exp $
+// $Id: browser.js,v 1.2 2026/07/20 03:48:11 raeburn Exp $
//
// This is a javascript library for managing a headless
// chromium web browser. It relies puppeteer (node.js).
@@ -9,15 +9,19 @@
// getBrowser()
// closeBrowser()
//
+const fs = require('fs');
+const path = require('path');
const puppeteer = require('puppeteer');
let browserInstance = null;
async function getBrowser() {
if (!browserInstance) {
- const pathToChromium = '/usr/bin/chromium-browser';
- browserInstance = await puppeteer.launch({
+ const pathToChromium = getChromiumPath();
+ if (pathToChromium) {
+ browserInstance = await puppeteer.launch({
executablePath: pathToChromium
- });
+ });
+ }
}
return browserInstance;
}
@@ -29,4 +33,14 @@
}
}
+function getChromiumPath() {
+ const paths = ['/usr/bin/chromium-browser',
+ '/usr/bin/chromium'];
+ for (const p of paths) {
+ if (fs.existsSync(p)) {
+ return p;
+ }
+ }
+}
+
module.exports = { getBrowser, closeBrowser };
More information about the LON-CAPA-cvs
mailing list