web_surf_API / login.js
simoncck's picture
Update login.js
f0dc812 verified
raw
history blame
1.3 kB
import { chromium } from 'playwright';
export async function runLogin () {
let browser;
try {
browser = await chromium.launch({
args: ['--no-sandbox', '--ignore-certificate-errors'],
});
const ctx = await browser.newContext({ ignoreHTTPSErrors: true });
const page = await ctx.newPage();
await page.goto(process.env.N8N_URL, { waitUntil: 'networkidle', timeout: 60000 });
/* sign-in if form present */
const signIn = page.locator('[data-test-id="signin-form"]');
if (await signIn.count()) {
await page
.locator('input[name="emailOrLdapLoginId"], input[name="email"]')
.first().fill(process.env.N8N_EMAIL || '');
await page.locator('input[name="password"]').first()
.fill(process.env.N8N_PASSWORD || '');
await page.getByRole('button', { name: /sign in/i }).click();
await page.locator('text=Overview').waitFor({ timeout: 60000 });
}
/* take screenshot → Buffer */
const png = await page.screenshot({ type: 'png', fullPage: true });
console.log('✅ Playwright finished; needSignIn =', needSignIn);
return { ok: true, png }; // return raw Buffer
} catch (err) {
return { ok: false, error: err.message };
} finally {
if (browser) await browser.close();
}
}