рд╣рдореЗрдВ рдЕрдкрдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВ:
рдХреМрди рд╕рд╛ рдХрджрдо рдлрд┐рд░ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рджреЗрдЧрд╛?
рдЗрд╕ рдХреЛрдб рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ:
const puppeteer = require('puppeteer');
puppeteer.launch({args: ['--no-sandbox']}).then(async browser => {
const page = await browser.newPage();
page.on('frameattached', async frame => {
console.log('Frame found: ' + frame);
console.log('What kind of object is this? ... ' + frame.constructor.name);
const result = await frame.title();
console.log('Result: ' + result);
});
await page.goto('https://www.google.com/chrome/browser/canary.html');
await browser.close();
});
рдкрд░рд┐рдгрд╛рдо рдХреА рдХреНрдпрд╛ рдЙрдореНрдореАрдж рд╣реИ?
рдХрд┐ рдЗрд╕реЗ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?
рдореБрдЭреЗ рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 9): TypeError: Cannot read property 'evaluate' of null
рдореБрдЭреЗ рдлрд╝реНрд░реЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд╡рд╛рджреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЕрдиреНрдп рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓рддреА рд╣реИред рдЧреИрд░-рд╡рд╛рджрд╛-рдЖрдзрд╛рд░рд┐рдд рддрд░реАрдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдореЗрд░реЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рд╣реБрдЖ
рдЗрд╕ рдмреАрдЪ, рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдкрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ (рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕ рдкрд░ рдЧреМрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ)
Frame found: [object Object]
What kind of object is this? ... Frame
Frame found: [object Object]
What kind of object is this? ... Frame
Result:
Result:
Frame found: [object Object]
What kind of object is this? ... Frame
Frame found: [object Object]
What kind of object is this? ... Frame
Result:
Result:
@pyper
рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрдЬрд╛рдп puppeteer@next
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?
@yujiosaka рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдИ рдЧрдИ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ, рдлреНрд░реЗрдо рдореЗрдВ рдЕрднреА рддрдХ рд╢реАрд░реНрд╖рдХ рдирд╣реАрдВ рдереЗред рдпрд╣реА рд╣реИ, рдЬрдм рдлреНрд░реЗрдо рд╕рдВрд▓рдЧреНрди рдкреГрд╖реНрда рдореЗрдВ HTML рдХреЛ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддрдм рддрдХ рд▓реЛрдб рдирд╣реАрдВ рд╣реБрдЖ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╢реАрд░реНрд╖рдХ рдЦрд╛рд▓реА рдерд╛ред рдореИрдВ рд╕реБрдЭрд╛рд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░ @next рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ ред рдзрдиреНрдпрд╡рд╛рдж рдпрд╛рд░!
@yujiosaka рдмрд╕ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдореЗрд░реЗ рд▓рд┐рдП рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рдмрдЧ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ 0.13.0 . рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ
рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@yujiosaka рдмрд╕ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдореЗрд░реЗ рд▓рд┐рдП рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рдмрдЧ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ 0.13.0 . рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ
рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!