basic playwright api
Build and Push Docker Images / build-and-push (push) Successful in 3m49s

This commit is contained in:
2025-11-20 14:46:07 +01:00
parent 11314a38a8
commit c8f41768f7
12 changed files with 847 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
const { chromium } = require('playwright');
let browser = null;
let browserLaunchPromise = null;
async function getBrowser() {
if (browser && browser.isConnected()) {
return browser;
}
if (browserLaunchPromise) {
return browserLaunchPromise;
}
browserLaunchPromise = chromium.launch({
headless: true,
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage',
'--disable-accelerated-2d-canvas',
'--disable-gpu',
],
});
try {
browser = await browserLaunchPromise;
browserLaunchPromise = null;
return browser;
} catch (error) {
browserLaunchPromise = null;
throw error;
}
}
async function closeBrowser() {
if (browser) {
await browser.close();
browser = null;
}
}
function isBrowserConnected() {
return browser && browser.isConnected();
}
module.exports = {
getBrowser,
closeBrowser,
isBrowserConnected,
};