Π― ΠΏΡΡΠ°ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΡΠΈΠ΅ΠΉ ΡΠΊΡΠΈΠ½ΡΠΎΡΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ ΡΠΎΠ·Π΄Π°Π΅Ρ trace.json, Π½ΠΎ Π½Π΅ ΡΠΊΡΠΈΠ½ΡΠΎΡΡ.
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.tracing.start({screenshots: true, path: 'trace.json'});
await page.goto('https://www.google.com');
await page.tracing.stop();
await browser.close();
})();
ΠΠ°ΠΊΠΎΠ² ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ?
Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ?
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅
Π‘ΠΊΡΠΈΠ½ΡΠΎΡΡ @kesava Π²ΡΡΡΠΎΠ΅Π½Ρ Π² ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ: ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΡ ΡΠ°ΠΉΠ» trace.json
Π½Π° ΠΏΠ°Π½Π΅Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ devtools.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠΊΡΠ°Π½Π° ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΡΡΠΎΡ Π±ΡΡΡΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ @Everettss Π² Π²ΡΠΏΡΡΠΊΠ΅ 1368 , ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΌΠ΅Π½Ρ.
const puppeteer = require('puppeteer');
const fs = require('fs');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.tracing.start({ screenshots: true, path: 'trace.json' });
await page.goto('https://www.google.com', { timeout: 60000 });
await page.tracing.stop();
// --- extracting data from trace.json ---
const tracing = JSON.parse(fs.readFileSync('./trace.json', 'utf8'));
const traceScreenshots = tracing.traceEvents.filter(x => (
x.cat === 'disabled-by-default-devtools.screenshot' &&
x.name === 'Screenshot' &&
typeof x.args !== 'undefined' &&
typeof x.args.snapshot !== 'undefined'
));
traceScreenshots.forEach(function(snap, index) {
fs.writeFile('trace-screenshot-'+index+'.png', snap.args.snapshot, 'base64', function(err) {
if (err) {
console.log('writeFile error', err);
}
});
});
// --- end extracting data from trace.json ---
await page.close();
})();
@QmarkC Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° Ρ
ΡΠΎΠΌ ΠΏΠ°Π΄Π°Π΅Ρ.
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ, ΡΡΠΎΠ±Ρ Ρ ΠΌΠΎΠ³ Π·Π½Π°ΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ
ΡΠΎΠΌ ΡΠ°Π·Π±ΠΈΠ»ΡΡ?
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠΊΡΠ°Π½Π° ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΡΡΠΎΡ Π±ΡΡΡΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ @Everettss Π² Π²ΡΠΏΡΡΠΊΠ΅ 1368 , ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΌΠ΅Π½Ρ.