| 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 : /tmp/smi-shot/ |
Upload File : |
const puppeteer = require('puppeteer');
const MOCK = { success:true, data:{ count:2, data:[
{id:'demo_8f71a2',first_name:'Anna',last_name:'Schneider',gender:'female',birthdate:'1994-03-18',age:32,country:'DE',city:'Rostock',postal_code:'18055',street:'Gartenstraße',house_number:'12',address:'Gartenstraße 12, 18055 Rostock, Deutschland',email_dummy:'anna.schneider7@example.com',phone_dummy:'+49 000 000000',synthetic:true,created_at:'2026-07-06T12:00:00+02:00'},
{id:'demo_1c33be',first_name:'Lars',last_name:'Björk',gender:'male',birthdate:'1988-11-02',age:37,country:'SE',city:'Göteborg',postal_code:'41118',street:'Kungsgatan',house_number:'7',address:'Kungsgatan 7, 41118 Göteborg, Sweden',email_dummy:'lars.bjork3@example.com',phone_dummy:'+46 00 0000000',synthetic:true,created_at:'2026-07-06T12:00:01+02:00'}
]}};
(async () => {
const browser = await puppeteer.launch({ headless:'new', args:['--no-sandbox','--disable-setuid-sandbox','--disable-dev-shm-usage','--font-render-hinting=none','--host-resolver-rules=MAP www.safemyident.de 127.0.0.1','--ignore-certificate-errors'] });
const page = await browser.newPage();
const errs=[]; page.on('pageerror',e=>errs.push(e.message));
await page.setRequestInterception(true);
page.on('request', req => {
if (req.method()==='POST' && req.url().includes('admin-ajax.php')) {
req.respond({ status:200, contentType:'application/json', body: JSON.stringify(MOCK) });
} else { req.continue(); }
});
await page.setViewport({ width:1100, height:1000, deviceScaleFactor:1.4 });
await page.goto('https://www.safemyident.de/tools/identitaets-generator/', { waitUntil:'networkidle2', timeout:60000 });
await page.select('#smi-idg-country','SE');
await page.click('#smi-idg-submit');
await page.waitForFunction(()=>document.querySelector('.smi-idg__card'),{timeout:15000}).catch(()=>{});
const info = await page.evaluate(()=>{
const cards=document.querySelectorAll('.smi-idg__card').length;
const hasName=/Anna Schneider/.test(document.getElementById('smi-idg-output').textContent);
const hasSyn=document.querySelectorAll('.smi-idg__syn').length;
return { cards, hasName, synBadges:hasSyn };
});
console.log('CARDS:', JSON.stringify(info));
await page.$eval('#smi-idg-app', el=>{});
// Screenshot Karten
const app=await page.$('#smi-idg-results'); await app.screenshot({path:'/tmp/smi-shot/idg-cards.png'});
// JSON-Ansicht
await page.click('.smi-idg__view[data-view="json"]');
const jsonOk = await page.evaluate(()=>/\"first_name\"/.test(document.querySelector('.smi-idg__json')?.textContent||''));
// Copy-Test (mini)
await page.click('.smi-idg__view[data-view="cards"]');
const copied = await page.evaluate(async ()=>{ const b=document.querySelector('.smi-idg__mini'); if(!b) return false; b.click(); await new Promise(r=>setTimeout(r,100)); return b.classList.contains('is-copied'); });
console.log('jsonView:', jsonOk, '| copyFeedback:', copied, '| errors:', errs.length?errs.slice(0,3):'none');
await browser.close();
})().catch(e=>{console.error('ERR',e.message);process.exit(1);});