| Server IP : 202.61.199.114 / Your IP : 216.73.217.139 Web Server : nginx/1.22.1 System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64 User : web20 ( 1018) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/root/tmp/ |
Upload File : |
const { chromium } = require('/usr/lib/node_modules/playwright-core') ;
(async () => {
const fs = require('fs');
const cookies = fs.readFileSync('/tmp/cj.txt','utf8').split('\n').filter(l=>l && !l.startsWith('#')).map(l=>{
const p=l.split('\t'); if(p.length<7) return null;
return {name:p[5],value:p[6],domain:p[0].replace(/^#HttpOnly_/,''),path:p[2],expires:parseInt(p[4])||-1,httpOnly:p[0].includes('HttpOnly'),secure:p[3]==='TRUE'};
}).filter(Boolean);
const browser = await chromium.launch({headless:true,args:['--no-sandbox']});
const ctx = await browser.newContext({ignoreHTTPSErrors:true});
await ctx.addCookies(cookies);
const pg = await ctx.newPage();
const errs=[]; pg.on('console',m=>{if(m.type()==='error')errs.push(m.text());}); pg.on('pageerror',e=>errs.push('PAGEERR '+e.message));
await pg.goto('https://seaside.pacim.de/booking/view/?invoice_id=86543',{waitUntil:'networkidle'});
// open E-Mail tab if tabs exist
await pg.click('#bmCreateBtn');
await pg.waitForSelector('.bm-card',{timeout:8000});
const cardCount = await pg.$$eval('.bm-card', els=>els.length);
console.log('CARDS:', cardCount);
const titles = await pg.$$eval('.bm-card .fw-bold', els=>els.map(e=>e.textContent.trim()));
console.log('TITLES:', JSON.stringify(titles));
// click first card
await pg.click('.bm-card');
await pg.waitForSelector('#bmComposeModal.show',{timeout:5000});
await pg.waitForTimeout(400);
const to = await pg.inputValue('#bmTo');
const subj = await pg.inputValue('#bmSubject');
console.log('TO:', to, '| SUBJ:', subj);
// check editor iframe has content
const fr = pg.frameLocator('#bmEditor');
const bodyText = await pg.evaluate(()=>{ const f=document.getElementById('bmEditor'); const d=f.contentDocument; return d&&d.body? d.body.innerText.slice(0,120):'(no body)'; });
console.log('EDITOR:', JSON.stringify(bodyText));
const attShown = await pg.isVisible('#bmAttachWrap');
console.log('ATTACH VISIBLE:', attShown);
console.log('JS ERRORS:', JSON.stringify(errs));
await browser.close();
})().catch(e=>{console.error('TESTFAIL',e); process.exit(1);});