const puppeteer = require('C:/xampp/htdocs/vilmax/vilmax-cockpit/node_modules/puppeteer'); (async () => { const browser = await puppeteer.launch({ headless: 'new' }); const page = await browser.newPage(); await page.setViewport({ width: 390, height: 844, isMobile: true, hasTouch: true }); await page.goto('https://bazarowy-swiat.pl/produkt/naroznik-oskar-tilia-warianty-l-p/?v=' + Date.now(), { waitUntil: 'networkidle2', timeout: 60000 }); await new Promise(r => setTimeout(r, 2500)); // zamknij cookie bar await page.evaluate(() => { const b=[...document.querySelectorAll('button')].find(x=>/akceptuj/i.test(x.textContent)); b&&b.click(); }); await page.evaluate(() => { const sel = document.querySelector('select[data-attribute_name="attribute_pa_kod-odcienia"]'); [...sel.parentNode.querySelectorAll('.bs-swatch')].find(b => b.dataset.value === '52').click(); const sel2 = document.querySelector('select[data-attribute_name="attribute_pa_strona"]'); [...sel2.parentNode.querySelectorAll('.bs-swatch')].find(b => b.dataset.value === 'prawy').click(); }); await new Promise(r => setTimeout(r, 1800)); const st = await page.evaluate(() => { const s1 = document.querySelector('.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image'); return { main: s1.querySelector('img').src.split('/').pop(), thumb: document.querySelector('.flex-control-thumbs li:first-child img')?.src.split('/').pop(), vid: document.querySelector('input[name="variation_id"]')?.value }; }); console.log('MOBILE P+52:', JSON.stringify(st)); await page.screenshot({ path: 'gal_mobile_p52.png' }); await browser.close(); })().catch(e => { console.error('ERR', e.message); });