рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдмрд┐рдирд╛ рд╕рд┐рд░ рд╡рд╛рд▓рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреБрдЫ рдмрд┐рдирд╛ рд╕рд┐рд░ рд╡рд╛рд▓рд╛ рд╣реИред рдПрдХ рджреГрд╢реНрдпрдкрдЯрд▓ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпрд╣ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдЙрдкрдХрд░рдг рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдЕрдиреБрдкрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлреНрд░рдВрдЯреЗрдВрдб рдХреЙрдиреНрдл рдореЗрдВ рд╡рд┐рдЯрд╛рд▓реА рд╕реНрд▓реЛрдмреЛрдбрд┐рди рдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдЗрд╕ рдЙрдкрдХрд░рдг рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдХрд░реАрдм рд╕реЗ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдерд╛ред
рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рдХреЗ рдХрдЯ рдШрдЯрдХреЛрдВ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рддрд╣рдд, рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рджреГрд╢реНрдпред Puppeteer рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреВрд╕рд░рд╛ рднрд╛рдЧ Google Chrome рдФрд░ Chromium рдореЗрдВ Headless рдореЛрдб рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ Node.js рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред
рд╡рдХреНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рд╡рд┐рдЯрд╛рд▓реА рд╕реНрд▓реЛрдмреЛрдбрд┐рди - рдлреИрдВрдЯрдордЬреЗрдПрд╕ рдХрд╛ рдПрдХ рдкреВрд░реНрд╡ рдбреЗрд╡рд▓рдкрд░ - рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЙрд╕реЗ рджрдлрди рдХрд░ рджрд┐рдпрд╛ред рдХрднреА-рдХрднреА рдпрд╣
QstWebKit рдХреЗ "рдкреБрдирд░реНрдЬреАрд╡рд┐рдд" рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ
рдХреЛрдВрд╕реНрдЯреЗрдВрдЯрд┐рди рдЯреЛрдХрд░реЗрд╡ (
annulen ) рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ - рдмрд╣реБрдд QtWebKit, рдЬрд╣рд╛рдВ ES6, рдлреНрд▓реЗрдХреНрд╕рдмреЙрдХреНрд╕ рдФрд░ рдХрдИ рдЕрдиреНрдп рдЖрдзреБрдирд┐рдХ рдорд╛рдирдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИред
рд╡рд┐рдЯрд╛рд▓реА рдХреЛ рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ рд╡реЗрдмрдХреЗрдЯ, рдХреНрд░реЛрдо рдЗрддреНрдпрд╛рджрд┐ рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдирд╛, рдФрд░ рдЕрдзрд┐рдХ рдЦреЛрдЬ рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реИред рд╣рдо рдЖрдЬ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЕрд░реНрдерд╛рддреН рд╣реЗрдбрд▓реЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рдЙрдирдХреЗ рдкреВрд░реЗ рднреВрдд рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред
рдПрдХ рд╕рд┐рд░ рд░рд╣рд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреНрдпрд╛ рд╣реИ?
рдирд╛рдо рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдмрд┐рдирд╛ рд╕рд┐рд░ рдХреЗ рдХреБрдЫ рд╣реИред рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИред
- рдЗрд╕рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рддрд┐рдкрд╛рджрди рдирд╣реАрдВ рд╣реИ , рдЕрд░реНрдерд╛рдд рдпрд╣ рд╕рдм рдХреБрдЫ рд╕реНрдореГрддрд┐ рдореЗрдВ рдЦреАрдВрдЪрддрд╛ рд╣реИ ред
- рдЗрд╕рдХреЗ рдХрд╛рд░рдг, рдпрд╣ рдХрдо рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддрд╛ рд╣реИ , рдХреНрдпреЛрдВрдХрд┐ рдЪрд┐рддреНрд░реЛрдВ рдпрд╛ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдкреАрдПрдирдЬреА рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд▓реЛрдЧ рдмрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреИрдХрдПрдВрдб рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред
- рдпрд╣ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдХреНрд░реАрди рдкрд░ рдХреБрдЫ рднреА рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
- рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ ред рдЖрдк рдкреВрдЫрддреЗ рд╣реИрдВ - рдЙрд╕рдХреЗ рдкрд╛рд╕ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдмрдЯрди, рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВ? рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ? рдЗрд╕рд▓рд┐рдП, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЗрд╕рдореЗрдВ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред
- рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдкрддреНрддрд┐ рдПрдХ рдирдВрдЧреЗ рд▓рд┐рдирдХреНрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ ред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдирдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдЙрдмрдВрдЯреВ рдпрд╛ рд░реЗрдб рд╣реИрдЯ рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдмрд╛рдЗрдирд░реА рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдкреИрдХреЗрдЬ рдХреЛ рд╡рд╣рд╛рдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдХреЛрдИ рд╢рд░реНрдорд┐рдВрджрдЧреА рдпрд╛ рдЬрд╛рджреВ рдЬрд╛рджреВ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ WebKit- рдЖрдзрд╛рд░рд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИред рдЖрдк рдШрдЯрдХреЛрдВ рдХреА рд╕рдордЭ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рджреГрд╢реНрдп рдЫрд╡рд┐ рд╣реИред

рд╣рдо рдХреЗрд╡рд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ UI рдХреЗ рд╢реАрд░реНрд╖ рдШрдЯрдХ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд╣реА рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реИ - рд╡рд┐рдВрдбреЛрдЬрд╝, рдореЗрдиреВ, рдкреЙрдк-рдЕрдк рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдФрд░ рдмрд╛рдХреА рд╕рдмред

рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдмрд┐рдирд╛ рд╕рд┐рд░ рд╡рд╛рд▓рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджрд┐рдЦрддрд╛ рд╣реИред рдЕрдВрддрд░ рдиреЛрдЯрд┐рд╕? рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред рд╡рд╣ рдФрд░ рдирд╣реАрдВ рд╣реИред
рдХреЗрд╡рд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реА рд░рд╣рддрд╛ рд╣реИ ред
рдЖрдЬ рд╣рдо рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо () рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдЙрдирдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрд░реЛрдо рдХреНрд░реЛрдорд┐рдпрдо рдХрд╛ рдПрдХ рдмреНрд░рд╛рдВрдбреЗрдб рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдХреЛрдбреЗрдХреНрд╕, рд╕рдорд╛рди рдПрдЪ .264, Google рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдФрд░ рд╕рдм рдХреБрдЫ рд╣реИред рдХреНрд░реЛрдорд┐рдпрдо рдХреЗрд╡рд▓ рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред

2016 рдХреА рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рдЬрдиреНрдо рддрд┐рдерд┐: 2016 рдпрджрд┐ рдЖрдк рдЙрд╕рдХреЗ рдкрд╛рд░ рдЖрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдореБрдЭрд╕реЗ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рд╕рд╡рд╛рд▓ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ: "рдРрд╕рд╛ рдХреИрд╕реЗ рд╣реИ, рдореБрдЭреЗ 2017 рдХреА рдЦрдмрд░ рдпрд╛рдж рд╣реИ?" рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ Google рдХреЗ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреА рдПрдХ рдЯреАрдо рдиреЗ 2016 рдореЗрдВ рд╡рд╛рдкрд╕ рдлреИрдВрдЯрдордЬ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛, рдЬрдм рд╡реЗ рдХреНрд░реЛрдо рдореЗрдВ рд╣реЗрдбрд▓реЗрд╕ рдореЛрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рдереЗред рд╣рдордиреЗ рдкреВрд░реЗ Google рдбреЙрдХреНрд╕ рдХреЛ рд▓рд┐рдЦрд╛, рд╣рдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗ рдЖрджрд┐ред рддрдм Google рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ PhantomJS рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдпрд╣ рдХреЗрд╡рд▓ рддрдм рдерд╛ рдЬрдм рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреА рдЯреАрдо рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдВрдЧрддрддрд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдИ рдереАред
рд╣рдо рдкреНрд░рдмрдВрдзрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдПрдкреАрдЖрдИ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдХрд┐ рдХреНрд░реЛрдо рджреЗрд╡рдЯреВрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ, рдмрд╛рдж рдореЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рд▓реЗрдЦ Puppeteer рдкрд┐рд░рд╛рдорд┐рдб (рдЕрдВрдЧреНрд░реЗрдЬреА рдХрдардкреБрддрд▓реА рд╕реЗ) рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рдЕрдЪреНрдЫрд╛ рдирд╛рдо рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ - рдХрдардкреБрддрд▓реА рд╡рд╣ рд╣реИ рдЬреЛ рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ!

рдкрд┐рд░рд╛рдорд┐рдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо - рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо - рдХреНрдпрд╛ рд╣реИ?
рдмрд┐рдирд╛ рд╕рд┐рд░ рдХрд╛ рдХреНрд░реЛрдо

рдХреЗрдВрджреНрд░ рдореЗрдВ - рд╣реЗрдбрд▓реЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ - рд╕рдорд╛рди рдХреНрд░реЛрдорд┐рдпрдо рдпрд╛ рдХреНрд░реЛрдо (рдЖрдорддреМрд░ рдкрд░ рдХреНрд░реЛрдорд┐рдпрдо)ред рдЗрд╕рдореЗрдВ рддрдерд╛рдХрдерд┐рдд рд░реЗрдВрдбрд░рд░реНрд╕ (RENDERER) - рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА (рдЖрдкрдХреА рдЦрд┐рдбрд╝рдХреА) рдХреЛ рдЦреАрдВрдЪрддреА рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рдЯреИрдм рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд░реЗрдВрдбрд░рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдХрдИ рдЯреИрдм рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдХреНрд░реЛрдо рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ред
рдЗрди рд╕рдмрд╕реЗ рдКрдкрд░ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рд╣реИред рдпрджрд┐ рд╣рдо рдХреНрд░реЛрдорд┐рдпрдо рдпрд╛ рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдХреНрд░реЛрдо рдЙрд╕рдХреЗ рдКрдкрд░ рд╣реЛрдЧрд╛, рдпрд╛ рдХреБрдЫ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЗрд╕реЗ рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдирд┐рдХрдЯрддрдо рдПрдирд╛рд▓реЙрдЧ рдХреЛ рд╕реНрдЯреАрдо рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕реНрдЯреАрдо рд╕реНрдЯреАрдо рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╛ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИред рд╡рд╣, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд░ рд░рд╣рд┐рдд рд╣реИред
рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ 2 рддрд░реАрдХреЗ рд╣реИрдВ (рдпрд╛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ):
- рд╕реНрдЯреИрдВрдбрд░реНрдб рдЬрдм рдЖрдк рдкреНрдпреВрдкреАрдЯрд░ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
- рдЬрдм рдЖрдк рд╣реЗрдбрд▓реЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрдВрдкреЛрдиреЗрдВрдЯ рд▓реЗрддреЗ рд╣реИрдВ, рдпрд╛рдиреА рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреЛ рд╣реЗрдбрд▓реЗрд╕ рдореЛрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, C ++ рдореЗрдВред
рдЖрдк рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рдордиреЗ рдХреЗ рдЫреЛрд░ рдкрд░ C ++ рдХреНрдпреЛрдВ рд╣реИ? рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ DevTools C ++ API рд╣реИред рдЖрдк рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк Puppeteer рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣реЗрдбрд▓реЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдк рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╣реЗрдбрд▓реЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрдореНрдмреЗрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдореВрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ C ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЗрди рд╕рдмрдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдХрд╕реНрдЯрдо рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ - рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд╛ рдХрд╕реНрдЯрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдмреИрдВрдХ рдпрд╛ рд╕рд░рдХрд╛рд░реА рдПрдЬреЗрдВрд╕реА рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рддреАрди рдЕрдХреНрд╖рд░ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ "F" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рдореБрд╢реНрдХрд┐рд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдпрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рд╣реИрдВрдбрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЖрдк рдмрд╕ рдЕрдкрдиреА рдкрд╣рд▓реЗ рд╕реЗ рд▓рд╛рдЧреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреНрд░реЛрдо рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдореЛрдЬреЛ рдореЙрдбреНрдпреВрд▓ ред рдореЛрдЬреЛ рдХрд╛ рдирд┐рдХрдЯрддрдо рдПрдирд╛рд▓реЙрдЧ Code рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдЖрдкрдХреА рдореВрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ Node.js рдХрд╛ рдореВрд▓ рдмрд╛рдЗрдВрдбрд░ рд╣реИред рдореЛрдЬреЛ рдРрд╕рд╛ рд╣реА рдХрд░рддрд╛ рд╣реИ - рдЖрдк рдЕрдкрдиреА рдореВрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЗрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдореЛрдЬреЛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЖрдк рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЕрдкрдиреЗ рдореВрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреНрд░реЛрдорд┐рдпрдо рдШрдЯрдХ

рдлрд┐рд░ рд╕реЗ рдореИрдВ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рд╕рд╡рд╛рд▓ рд╕реБрдирддрд╛ рд╣реВрдВ: тАЬрдореБрдЭреЗ рдЗрд╕ рднрдпрд╛рдирдХ рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдореИрдВ рдиреАрдЪреЗ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ (рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдврд╛рдВрдЪреЗ рдХрд╛ рдирд╛рдо рдбрд╛рд▓реЗрдВ)
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрд╕рдХрд╛ рдЯреВрд▓ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк React рдХреЗ рдиреАрдЪреЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд░рд┐рдПрдХреНрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХреЛрдгреАрдп рдХреЗ рдиреАрдЪреЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреЛрдгреАрдп рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рдХреНрдпрд╛ рд╣реИред
рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдЪреАрдЬ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐ рдпрд╛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдмрд╣реБрдд рдЧрдВрднреАрд░ рдмрдЧ, рдЖрдкрдХреЛ "рд╣рд┐рдореНрдордд" рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЖрдк рдмрд╕ рд╡рд╣рд╛рдВ рдЦреЛ рд╕рдХрддреЗ рд╣реИрдВ - рдЬрд╣рд╛рдВ, рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗред рдпрджрд┐ рдЖрдк, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВ рдпрд╛ рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рддреЛ рдЖрдк рднреА рдЗрд╕рдХреЗ рдХреБрдЫ рдЕрдЬреАрдм рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рдмрдЧ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреНрд░реЛрдорд┐рдпрдо рдореЗрдВ рдХреНрдпрд╛ рдШрдЯрдХ рд╣реИрдВред рдЬрдм рдЖрдк рдПрдХ рдмрдбрд╝реЗ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЦреБрджрд╛рдИ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рд╣реИред
рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░рдд рдХрд╛ рдирд┐рдореНрдирддрдо рд╕реНрддрд░ред рдЗрд╕рдХреЗ рдШрдЯрдХ:
- рдХреНрд░реЛрдо рдореЗрдВ рдЕрдореВрд░реНрдд рд╡рд┐рдВрдбреЛ рдореИрдиреЗрдЬрд░ рдУрдЬреЛрди , рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡рд┐рдВрдбреЛ рдореИрдиреЗрдЬрд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддрд╛ рд╣реИред рд▓рд┐рдирдХреНрд╕ рдкрд░, рдпрд╣ рдПрдХ рдПрдХреНрд╕-рд╕рд░реНрд╡рд░ рдпрд╛ рд╡реЗрд▓реИрдВрдб рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдкрд░, рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рд╡рд┐рдВрдбреЛ рдореИрдиреЗрдЬрд░ рд╣реИред
- рд╢реЗрдбреНрдпреВрд▓рд░ рд╡рд╣реА рд╢реЗрдбреНрдпреВрд▓рд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд┐рдирд╛ рд╣рдо рдХрд╣реАрдВ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд░реЛрдо рдПрдХ рдмрд╣реБ-рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рд╕рднреА рдереНрд░реЗрдбреНрд╕, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдЕрдиреНрдп рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдиреЗрдЯ - рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдЯрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, HTTP рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛, рд╣реЗрдбрд░ рдмрдирд╛рдирд╛, рд╕рдВрдкрд╛рджрди, рдЖрджрд┐ред
рд╕рд╛рдордЧреНрд░реА рдкрд░рдд рдХреНрд░реЛрдо рдХрд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдШрдЯрдХ рд╣реИред рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдкрд▓рдХ рд╡реЗрдмрдХрд┐рдЯ рд╕реЗ рд╡реЗрдмрдХреЛрд░ рдЖрдзрд╛рд░рд┐рдд рд╡реЗрдм рдЗрдВрдЬрди рд╣реИред рдпрд╣ HTML рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдкрд╛рд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдФрд░ рд╡рд╣ рдпрд╣ рд╣реИред рд╡рд╣ рдЕрдм рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рдирд╛ рдЬрд╛рдирддрд╛ рд╣реИ: рди рддреЛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рди рд╣реА рдбреНрд░рд╛ - рдпрд╣ рд╕рдм рдкрд▓рдХ рдХреЗ рдКрдкрд░ рд╣реЛрддрд╛ рд╣реИред
рдмреНрд▓рд┐рдВрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рд╡реЗрдмрдХреЛрд░ рдХрд╛ рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдг - рдПрдЪрдЯреАрдПрдордПрд▓ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм рдЗрдВрдЬрди; рд╡реА 8 (рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди); Chrome рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ API, рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрд╡рд░реЛрдзрдХред рдЗрд╕рдореЗрдВ DevTools рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред
- рдХрдВрдЯреЗрдВрдЯ рдПрдкреАрдЖрдИ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд╡реЗрдм рдЗрдВрдЬрди рдХреА рд╕рднреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдмреНрд▓рд┐рдВрдХ (рд╢рд╛рдпрдж рдПрдХ рдорд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рдЗрдВрдЯрд░рдлреЗрд╕) рдХреЗ рдЕрдВрджрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдЗрди рд╕рднреА рддрд░реАрдХреЛрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЦреЛ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдЖрдкрдХреЛ рд╕рд╛рдордЧреНрд░реА рдПрдкреАрдЖрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк HTML рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдЗрдВрдЬрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛, DOM рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░реЗрдЧрд╛, CSS OM рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛, рдЯрд╛рдЗрдорд░, рд╣реИрдВрдбрд▓рд░ рдЪрд▓рд╛рдПрдЧрд╛, рдФрд░ рдмрд╛рдХреА рд╕рдм рдХреБрдЫред
рдмрд┐рдирд╛ рд╕реНрддрд░ рдХреА
рдкрд░рдд рдХрд╛ рд╕реНрддрд░ - рдмрд┐рдирд╛ рд╕рд┐рд░ рдХрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрддрд░:
- рдмрд┐рдирд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ ред
- рдПрдВрдмреЗрдбрдбрд░ рдПрдкреАрдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрд╡реЗрджрди рдореЗрдВ рд╣реЗрдбрд▓реЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
- рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреАрдЖрдИ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрдпреВрдкреЗрдПрдЯрд░ рдХрд░рддрд╛ рд╣реИред
рдЖрд╡реЗрджрди рдкрд░рдд рдЖрд╡реЗрджрди рдкрд░рдд :
- рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди ( рдПрдВрдмреЗрдбрд┐рдВрдЧ рдРрдк );
- рдЧреИрдЬреЗрдЯреНрд╕, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реЗрдбрд▓реЗрд╕ рд╢реЗрд▓ ред
рдЕрдм рдЧрд╣рд░рд╛рдИ рд╕реЗ рдереЛрдбрд╝рд╛ рдКрдкрд░ рдЙрдареЗрдВ, рд╕рдХреНрд░рд┐рдп рд╣реЛрдВ - рдЕрдм рдлреНрд░рдВрдЯреЗрдВрдб рдЬрд╛рдПрдЧрд╛ред

рдХреНрд░реЛрдо DevTools рдкреНрд░реЛрдЯреЛрдХреЙрд▓
рд╣рдо рд╕рднреА рдХреНрд░реЛрдо DevTools рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдЖрдП рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдХреНрд░реЛрдо рдпрд╛ рджреВрд░рд╕реНрде рдбрд┐рдмрдЧрд░ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рдкреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рд╕рдорд╛рди рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдгред рдпрджрд┐ рдЖрдк рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ DevTools рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реЛрддрд╛ рд╣реИред рдЬрдм рдЖрдк рдбреАрдмрдЧрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдб рдХрд╡рд░реЗрдЬ рджреЗрдЦреЗрдВ, рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рди рдпрд╛ рдХреБрдЫ рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдпрд╣ рд╕рдм DevTools рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, DevTools рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рд╣реА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВред рдЖрдкрдХреЗ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ, рд╢рд╛рдпрдж рдЙрдирдореЗрдВ рд╕реЗ 80% рддрдХред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреНрдпрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдЗрд╕рдХреЗ 2 рдШрдЯрдХ рд╣реИрдВ:
- DevTools рдХрд╛ рд▓рдХреНрд╖реНрдп - рд╡рд╣ рдЯреИрдм рдЬрд┐рд╕рдХрд╛ рдЖрдк рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ;
- DevTools рдХреНрд▓рд╛рдЗрдВрдЯ - рдорд╛рди рд▓реЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдкреИрдирд▓ рд╣реИ рдЬрд┐рд╕реЗ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╡реЗ рд╕рд╛рдзрд╛рд░рдг JSON рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ:
- рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ, рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо рдФрд░ рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯрд░ред
- рд╣рдо рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдмрд╣реБрдд рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИ: рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╕рднреА рдЖрджреЗрд╢ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЗрд╕ рдмрд╛рдд рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдореЗрдВ рдХрд┐рд╕ рдЯреАрдо рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓реА рд╣реИ, рд╣рдореЗрдВ рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдПрдХ рдкрд░рд┐рдгрд╛рдо рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдгрд╛рдо рд╡рд╕реНрддреБ рд╣реИ: рдкреНрд░рдХрд╛рд░: "рд╕рдВрдЦреНрдпрд╛", рдореВрд▓реНрдп: 2, рд╡рд┐рд╡рд░рдг: "2" , рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдлреЗрдВрдХрд╛ рдЧрдпрд╛ рдерд╛: рдпрд╣ рдерд╛: рдЧрд▓рддред
рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХрд╛ рдЯреИрдм рдИрд╡реЗрдВрдЯ рдХреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЬрдм рдкреГрд╖реНрда рдкрд░ рдХреЛрдИ рдШрдЯрдирд╛ рдШрдЯрд┐рдд рд╣реБрдИ, рдпрд╛ рдХрд┐рд╕реА рдкреГрд╖реНрда рдкрд░ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдерд╛, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред


рдХрдардкреБрддрд▓реА рдЪрд▓рд╛рдиреЗрд╡рд╛рд▓рд╛
рдЖрдк рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрдкреНрддреЗрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рдпрд╛рд░реНрди, рдПрдирдкреАрдПрдо рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рд╣реЛред
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рдЖрд╕рд╛рди рд╣реИ - рдмрд╕ рдЗрд╕реЗ рдЕрдкрдиреА Node.js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ, рдФрд░ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Https://try-puppeteer.appspot.com рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
, рдЖрдк рд╕рд╛рдЗрдЯ рдкрд░ рд╕реАрдзреЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реАрдзреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
Node.js рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд╕рдмрд╕реЗ рд╕рд░рд▓ рд▓рд┐рдкрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
const puppeteer = require('puppeteer'); (async() => { const browser = await puppeteer.launch() ; const page = await browser.newPage(); await page.goto('http://devconf.ru/') ; await page.emulateMedia('screen') ; await page.pdf({ path: './devconf.pdf, printBackground: true }); await browser.close() ; })();
рдпрд╣рд╛рдВ рд╣рдо рдмрд╕ рдкреЗрдЬ рдХреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдкреАрдбреАрдПрдл рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЖрдЗрдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЗрд╕ рд▓рд┐рдкрд┐ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рджреЗрдЦреЗрдВ:
рд╕рдм рдХреБрдЫ рд╢рд╛рдВрдд рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реИред рдмреЗрд╢рдХ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реЗрдбрд▓реЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдХреБрдЫ рднреА рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, Puppeteer рдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдзреНрд╡рдЬ рд╣реИ рдЬрд┐рд╕реЗ рд╣реЗрдбрд▓реЗрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЕрд╕рддреНрдп:
const browser = await puppeteer.launch({ headless: false });
рд╣реЗрдбрд▓реЗрд╕ рдореЛрдб рдореЗрдВ рд╣реЗрдбрд▓реЗрд╕ рдмреНрд░рд╛рдЙрдЬрд░ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрдм рдЖрдк рдХреБрдЫ рд╡рд┐рдВрдбреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЖрдкрдХреЗ рдкреЗрдЬ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдпрд╛рдиреА рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЗ рдкреЗрдЬ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреА рд╣реИред

рдЬрдм рд╣рдо рдЗрд╕ рдзреНрд╡рдЬ рдХреЛ рдЬреЛрдбрд╝реЗрдВрдЧреЗ рддреЛ рдпрд╣ рдПрдХ рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдмрд╛рдИрдВ рдУрд░ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ - рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗред
рдХрдардкреБрддрд▓реА рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ:+ рдпрд╣ рдХреНрд░реЛрдо рд╣реЗрдбрд▓реЗрд╕ рдХреЗ рд▓рд┐рдП Node.js рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред
+ Node.js> = 6 рдХреА рд╡рд┐рд░рд╛рд╕рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред
+ рдЖрд╕рд╛рди рд╕реНрдерд╛рдкрдирд╛ред
+ рдЗрд╕ рд╕рдВрдкреВрд░реНрдг рд╡рд┐рд╢рд╛рд▓ рдорд╢реАрди рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдПрдкреАрдЖрдИред
рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЗ рдмрд┐рдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рдордп, рдкреНрдпреВрдкреАрдЯрд░ рдХреНрд░реЛрдорд┐рдпрдо рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реАрдзреЗ рдЕрдкрдиреЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдХреБрдЫ рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдХреНрд░реЛрдо рдХреЗ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдЖрдк рдпрд╣ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдХрдардкреБрддрд▓реА рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдиреБрдХрд╕рд╛рди рднреА рд╣реИрдВ, рдЕрдЧрд░ рд╣рдо рд╕рд┐рд░реНрдл рдореВрд▓ рд╕реНрдерд╛рдкрдирд╛ рд▓реЗрддреЗ рд╣реИрдВред
рд╡рд┐рдкрдХреНрд╖ Puppeteer :
-
рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреЗ рдХрд╛рд░реНрдп рдирд╣реАрдВ : рдмреБрдХрдорд╛рд░реНрдХ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди; рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕рдорд░реНрдерди; рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рддреНрд╡рд░рдг рдЖрджрд┐ред
-
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдЗрдирд╕ рд╣реИред рд╕рднреА рдЧрдгрдирд╛ рдФрд░ рдкреНрд░рддрд┐рдкрд╛рджрди рдЖрдкрдХреЗ рд╕реАрдкреАрдпреВ рдкрд░ рд╣реЛрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ, Google рдЗрдВрдЬреАрдирд┐рдпрд░ рдЬрд▓реНрдж рд╣реА рд╣рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░реЗрдВрдЧреЗ - рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рддреНрд╡рд░рдг рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдХрд╛рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдм рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдмрд╣рд╛рджреБрд░ рдФрд░ рд╕рд╛рд╣рд╕реА рд╣реИрдВред
- рд╣рд╛рд▓ рддрдХ рддрдХ, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдерд╛ - рдЕрдм рд╡рд╣рд╛рдБ рд╣реИ! рдпрджрд┐ рдЖрдк рдПрдХ рдЪрд╛рд▓рд╛рдХ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдирд╛ рдкрд╕рдВрджреАрджрд╛ AdBlock рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ Puppeteer рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдЧрд╛, рдФрд░ рд╕рднреА рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
-
рдХреЛрдИ рдСрдбрд┐рдпреЛ / рд╡реАрдбрд┐рдпреЛ рд╕рдорд░реНрдерди рдирд╣реАрдВ ред рдХреНрдпреЛрдВрдХрд┐, рдареАрдХ рд╣реИ, рд╣реЗрдбрд▓реЗрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдСрдбрд┐рдпреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХреНрдпреЛрдВред
рдХрдардкреБрддрд▓реА рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:- рдЕрд▓рдЧрд╛рд╡ рд╕рддреНрд░ред
- рдЖрднрд╛рд╕реА рдЯрд╛рдЗрдорд░ред
- рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЕрд╡рд░реЛрдзрдиред
рдФрд░ рдХреБрдЫ рд╢рд╛рдВрдд рдЪреАрдЬреЗрдВ рдЬреЛ рдореИрдВ рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред
рд╕рддреНрд░ рдЕрд▓рдЧрд╛рд╡
рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдпрд╣ рдХрд┐рд╕рдХреЗ рд╕рд╛рде рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреНрдпрд╛ рд╣рдо рдирд╣реАрдВ рдШреБрдЯреЗрдВрдЧреЗ? - рдЪреМрдВрдХрд┐рдП рдордд!
рд╕рддреНрд░ рдЕрд▓рдЧрд╛рд╡
рдкреНрд░рддреНрдпреЗрдХ рдЯреИрдм рдХреЗ рд▓рд┐рдП рдПрдХ
рдЕрд▓рдЧ "рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА" рд╣реИ ред рдЬрдм рдЖрдк Puppeteer рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдирдпрд╛ рдкреГрд╖реНрда рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдкреГрд╖реНрда рдХрд╛ рдЕрдкрдирд╛ рднрдВрдбрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- Cookes;
- рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░рдг;
- рдХреИрд╢ред
рд╕рднреА рдкреГрд╖реНрда рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд░рд╣реЗрдВрдЧреЗред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдкрд░рдорд╛рдгреБрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред
рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рддреНрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рд╕рддреНрд░ рдЕрд▓рдЧрд╛рд╡
рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рд╕рдордп рдХреА рдмрдЪрдд рдХрд░рддрд╛ рд╣реИ ред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдПрдХ рдРрд╕реА рд╕рд╛рдЗрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╛рдиреА рдмрдВрдбрд▓ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рд╡рдЬрди 20 рдПрдордмреА рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдХреИрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк Puppeteer рдХреЛ рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдкрд░ рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдмрдВрдбрд▓ рдХреИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЖрдк
рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рддреНрд░реЛрдВ рдХреЛ
рдХреНрд░рдордмрджреНрдз рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред рдЖрдк рдПрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ - рд╕рд╛рдЗрдЯ рдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЖрдк рд▓рдЧрд╛рддрд╛рд░ рдирд╣реАрдВ рдЬреЛрдбрд╝реЗрдВрдЧреЗред Puppeteer рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рд╕рд╛рдЗрдЯ рдкрд░ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рд╕рддреНрд░ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЖрднрд╛рд╕реА рдЯрд╛рдЗрдорд░
рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд░реНрдЪреБрдЕрд▓ рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВрдЧреЗред рдпрджрд┐ рдЖрдкрдиреЗ рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЛ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдПрдиреАрдореЗрд╢рди рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИ рдпрд╛ рдзреАрдорд╛ рдХрд░рддрд╛ рд╣реИ (рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рдХреЛ рдзреЛрдпрд╛ рдЬрд╛рддрд╛ рд╣реИ!), рддреЛ рдЙрд╕ рдХреНрд╖рдг рдореЗрдВ рдЖрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рдкреГрд╖реНрда рд▓реЛрдбрд┐рдВрдЧ рдпрд╛ рдкреВрд░реНрдг рдПрдиреАрдореЗрд╢рди рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ
рд╕рдордп рдХреЗ рдмрдЬрд╛рдп рдЖрднрд╛рд╕реА рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ
"рд╕реНрдХреНрд░реЙрд▓" рд╕рдордп рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдкрд░реАрдХреНрд╖рдг рд╣реИ, рддреЛ рдЖрдк рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ 30 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдПрдиреАрдореЗрд╢рди рд╣реЛрддрд╛ рд╣реИред рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рдпрд╣ рдлрд╛рдпрджреЗрдордВрдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╣ рдЗрд╕ рд╕рдордп рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗред рдЗрд╕рд▓рд┐рдП, рдЖрдк рдмрд╕ рдПрдиреАрдореЗрд╢рди рдХреЛ рдЧрддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдкреГрд╖реНрда рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рддреБрд░рдВрдд рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдП, рдФрд░ рдЖрдкрдХрд╛ рдкрд░реАрдХреНрд╖рдг рдЬрд╛рд░реА рд░рд╣реЗред
рдЬрдм рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдЪрд▓ рд░рд╣рд╛ рд╣реЛ рддрдм рдЖрдк
рд╕рдордп рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдмреИрдХрдПрдВрдб рдкрд░ рдЧрдП рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд░рд┐рдЯрд░реНрди рд╣реЛрддрд╛ рд╣реИред рдЖрдк рд╕рдордп рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВ - рдХрдардкреБрддрд▓реА рдЗрд╕реЗ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдиреАрдЪреЗ рдХреА рд╕реНрд▓рд╛рдЗрдб рдкрд░, рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ: рд░реЗрдВрдбрд░рд░ рдХреЛ
рд░реЛрдХреЗрдВ рдФрд░ рдЬрд╛рд░реА рд░рдЦреЗрдВ ред рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдореЛрдб рдореЗрдВ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рдФрд░ рдмрд╛рдж рдореЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВред рдлрд┐рд░ рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рдЬрд▓реНрджреА рд╕реЗ рд╕рдм рдХреБрдЫ рд░реЗрдВрдбрд░ рдХрд░ рджреЗрдЧрд╛, рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рд╕реЗ рдХреБрдЫ рднреА рдбреНрд░рд╛рдЗрдВрдЧ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдПрдкреАрдЖрдИ рдХреЗ рдХрд╛рд░реНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдмрджрд▓рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЕрдм рдРрд╕рд╛ рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред
рдиреАрдЪреЗ рдЖрднрд╛рд╕реА рдЯрд╛рдЗрдорд░ рдХрд╛ рдПрдХ рдпреЛрдЬрдирд╛рдмрджреНрдз рджреГрд╢реНрдпред

рд╢реАрд░реНрд╖ рдкрдВрдХреНрддрд┐ рдореЗрдВ рджреЛ рдирд┐рдпрдорд┐рдд рдЯрд╛рдЗрдорд░ рд╣реИрдВ: рдкрд╣рд▓реА рд╕рдордп рдХреА рдкрд╣рд▓реА рдЗрдХрд╛рдИ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдФрд░ рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рдЗрдХрд╛рдИ рдореЗрдВ рдЪрд▓рддреА рд╣реИ, рджреВрд╕рд░реА рд╕рдордп рдХреА рддреАрд╕рд░реА рдЗрдХрд╛рдИ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдФрд░ рд╕рдордп рдХреА рддреАрди рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рдЪрд▓рддреА рд╣реИред
рддреЗрдЬреА рд╕реЗ рдЯрд╛рдЗрдорд░ - рд╡реЗ рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рд╣рдо рдЙрдиреНрд╣реЗрдВ рд░реЛрдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдордп рдХреА рдЕрд╡рдзрд┐ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕рднреА рдЯрд╛рдЗрдорд░ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред
рдЗрд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВред рдиреАрдЪреЗ рдПрдХ рдХрдЯ-рдСрдл рдХреЛрдб рд╣реИ рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХреЛрдб рдкреЗрдЬ рд╕реЗ рдПрдиреАрдореЗрд╢рди рдкреЗрдЬ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИ:
(async() => { const browser = await puppeteer.launch(); const page = await browser.newPage(); const url = 'https ://codepen.o/ajerez/full/EaEEOW/';
рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рджреМрд░рд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛
рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рд╕рд┐рд░реНрдл рдПрдиреАрдореЗрд╢рди рд╣реИред
рдЕрдм, рдХреНрд░реЛрдо DevTools рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдПрдирд┐рдореЗрд╢рди рдирд╛рдордХ рдПрдХ рд╡рд┐рдзрд┐ рднреЗрдЬрддреЗ рд╣реИрдВред PlaybackRate, рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ 12 рдХреЗ рдорд╛рди рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдкреНрд▓реЗрдмреИрдХрд░реЗрдЯ рдкрд╛рд╕ рдХрд░реЗрдВ:
const url = 'https://codepen.o/ajerez/full/EaEEOW/';
рд╣рдо рдЙрд╕реА рд▓рд┐рдВрдХ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдПрдирд┐рдорд╛рдХрд╛ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдордиреЗ рдПрдХ рдЖрднрд╛рд╕реА рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ 12 рдмрд╛рд░ рдПрдиреАрдореЗрд╢рди рдХреЗ рдкреНрд▓реЗрдмреИрдХ рдХреЛ рддреЗрдЬ рдХрд┐рдпрд╛ред
рдЪрд▓рд┐рдП рдЕрдм рдПрдХ рдкреНрд░рдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рдкреНрд▓реЗрдмреИрдХ рдХрд░реЗрдВ рдкрд╛рд╕: 0 - рдФрд░ рджреЗрдЦреЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рдпрд╣ рд╣реЛрдЧрд╛: рдХреЛрдИ рднреА рдПрдиреАрдореЗрд╢рди рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдирд╣реАрдВ рдЦреЗрд▓рддрд╛ рд╣реИред рд╢реВрдиреНрдп рдФрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рди рдкреВрд░реЗ рдПрдиреАрдореЗрд╢рди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░реЛрдХ рджреЗрддреЗ рд╣реИрдВред
рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдЖрдк рдирд┐рдореНрди рдзреНрд╡рдЬ рдХреЛ рд╕реЗрдЯ рдХрд░рдХреЗ
рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ
рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВ:
await page.setRequestlnterception(true);
рдЗрд╕ рдореЛрдб рдореЗрдВ, рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдШрдЯрдирд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдпрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ рдЖрдЧ рд▓рдЧ рдЬрд╛рддреА рд╣реИред
рдЖрдк
рдордХреНрдЦреА рдкрд░ рдЕрдиреБрд░реЛрдз рдмрджрд▓ рд╕рдХрддреЗ
рд╣реИрдВ ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рдХреА рд╕рднреА рд╕рд╛рдордЧреНрд░реА (рдирд┐рдХрд╛рдп) рдФрд░ рдЗрд╕рдХреЗ рд╣реЗрдбрд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдиреБрд░реЛрдз рднреА рд░рджреНрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореВрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд╣рд┐рдд
рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдпрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ
рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЖрдк
рдХреЛрдб рдХрд╡рд░реЗрдЬ (JS / CSS) рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Puppeteer рдХреЗ рд╕рд╛рде, рдЖрдк рдпрд╣ рд╕рдм рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рд╕рднреА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреМрди рд╕реА рдХрдХреНрд╖рд╛рдПрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЖрджрд┐ред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣рдо рдЙрдирд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВ? рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмреЗрд╣рддрд░ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдЪрдпрдирдХрд░реНрддрд╛ рдФрд░ рдХрдХреНрд╖рд╛рдПрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИрдВ - рдпрд╣ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИ! рд╡рд╣ рд╣рдореЗрд╢рд╛ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдирд╣реАрдВ, рдЬреЛ рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдирд╣реАрдВред
Chrome DevTools рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдЪрд╛рд╡ рдореЗрдВ рдЖрддрд╛ рд╣реИ:
await Promise.all ( [ page.coverage.startJSCoverage(), page.coverage.startCSSCoverage() ]); await page.goto('https://example.com'); const [jsCoverage, cssCoverage] = await Promise,all([ page.coverage.stopJSCoverage(), page.coverage.stopCSSCoverage() ]):
рдкрд╣рд▓реА рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ, рд╣рдо рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдирдИ рд╕реБрд╡рд┐рдзрд╛ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬреЗрдПрд╕ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдЪрд▓рд╛рдПрдВ, рдХрд┐рд╕реА рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВ, рдлрд┐рд░ рдХрд╣реЗрдВ - рд░реЛрдХреЗрдВ - рдФрд░ рд╣рдо рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдпреЗ рдХреБрдЫ рдХрд╛рд▓реНрдкрдирд┐рдХ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрдВрдЬрди рдХреЗ рдХрд╛рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВред
рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╣рд╛рдБ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкреНрд▓рдЧрдЗрди рд╣реИ рдХрд┐ Puppeteer рдЗрд╕реНрддрд╛рдВрдмреБрд▓ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдм рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред
рдХрдардкреБрддрд▓реА рдкрд┐рд░рд╛рдорд┐рдб рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ Node.js рдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ - рдпрд╣ рд╕рднреА рдирд┐рдЪрд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рдЧреЙрдбрдлрд╛рджрд░ рдХреА рддрд░рд╣ рд╣реИред

рд▓реЗрдХрд┐рди ... "рдбреЗрдирд┐рд╢ рд░рд╛рдЬреНрдп рдореЗрдВ рд╕рдм рдХреБрдЫ рд╢рд╛рдВрдд рдирд╣реАрдВ рд╣реИ ..." - рдЬреИрд╕рд╛ рдХрд┐ рд╡рд┐рд▓рд┐рдпрдо рд╢реЗрдХреНрд╕рдкрд┐рдпрд░ рдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ред
рд╣реЗрдбрд▓реЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ?
рд╣реЗрдбрд▓реЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ, рднрд▓реЗ рд╣реА рдЙрдирдХреА рд╕рднреА рд╢рд╛рдВрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЗрддрдирд╛ рдХреБрдЫ рдХрд░ рд╕рдХрддреА рд╣реИрдВред
рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдкреЗрдЬ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдореЗрдВ рдЕрдВрддрд░
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдЖрдЗрдЯрдо рдХреЛ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВред рдЖрдЗрдП рдЗрд╕ рддрд╕реНрд╡реАрд░ рдХреЛ рджреЗрдЦреЗрдВред

рдпрд╣рд╛рдБ рд╕рд╛рджреЗ рдкрд╛рда рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдпрдорд┐рдд рдкреГрд╖реНрда рд╣реИ: рджрд╛рдИрдВ рдУрд░ - рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХреНрд░реЛрдо рдореЗрдВ, рдмрд╛рдИрдВ рдУрд░ - рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рддред рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдорд╛рди рд╣рдореЗрд╢рд╛ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ "рддреНрд░реБрдЯрд┐ рдХрд╛ рдорд╛рд░реНрдЬрд┐рди" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрдм рд╕рдорд╛рди рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрдм рдирд╣реАрдВред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рднреА рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреНрд░реБрдЯрд┐ рд╣рдореЗрд╢рд╛ рдЗрд╕ рд░реЗрдЦрд╛ рд╕реЗ рдкрд░реЗ рдЬрд╛рдПрдЧреА, рдФрд░ рдЖрдкрдХреЛ рдЕрднреА рднреА рдЧрд▓рдд рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╕рднреА рдкреЗрдЬ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡реЗрдм рдлреЛрдВрдЯ, рд╕рднреА рддреАрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореИрдХрдУрдПрд╕ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдПрдХ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдореЗрдВред
рдЖрдк рдХреЗрд╡рд▓ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред
рдЖрдк рдХрд╣реЗрдВрдЧреЗ: "рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрджрд░реНрдн рдорд╢реАрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рдЗрди рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдКрдВрдЧрд╛ рдФрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рддреБрд▓рдирд╛ рдХрд░реВрдВрдЧрд╛ред" рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдмреЗрддрд╣рд╛рд╢рд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ CI рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЖрдк рдпрд╣рд╛рдВ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХреБрдЫ рддреЛрдбрд╝рд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд▓рд┐рдирдХреНрд╕ рдорд╢реАрди рдкрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╕рдВрджрд░реНрдн рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реИ, рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдореИрдХ рд╣реИ, рддреЛ рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо рд╣реЛрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкрд░реАрдХреНрд╖рдг рди рдХрд░реЗрдВ - рдЗрд╕реЗ рднреВрд▓ рдЬрд╛рдПрдВред
рд╡реИрд╕реЗ, рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд░реЛрдорди рдбреНрд╡реЛрд░реЛрд╡ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЕрджреНрднреБрдд рд▓реЗрдЦ рд╣реИ, "
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рдпреВрдирд┐рдЯ-рдкрд░реАрдХреНрд╖рдг: рдзреНрд╡рдирд┐ рдЕрд╡рд░реЛрдзрдХ рдХреЛ рддреЛрдбрд╝рдирд╛ "ред рдпрд╣ рд╕реАрдзреЗ рдЬрд╛рд╕реВрд╕реА рдХрдерд╛ рд╣реИред
рдЕрд╡рд░реБрджреНрдз
рдЬрдм рдЖрдк рд╕реНрдХреНрд░реИрдкрд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдЧреИрд░рдХрд╛рдиреВрдиреА рддрд░реАрдХреЗ рд╕реЗ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХрдИ рдмрдбрд╝реА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рддрд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдореИрдВ рдПрдХ рдкреНрд░рдореБрдЦ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рддрд╛ рд╣реВрдВ рдФрд░ рдЖрдкрдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдЦреЗрд▓ рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рджреЛ GET рдЕрдиреБрд░реЛрдз рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд░реЛрдо рдпрд╣рд╛рдБ рдХрд╣рд╛рдБ рд╣реИ? "рджреЛрдиреЛрдВ" рд╡рд┐рдХрд▓реНрдк рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдХреНрд░реЛрдо рдХреЗрд╡рд▓ рдПрдХ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдк рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рдФрд░ рдореИрдВ, рдПрдХ рдкреНрд░рдореБрдЦ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ: рджрд╛рдИрдВ рдУрд░ - рдлреИрдВрдЯрдо рдЬреЗрдПрд╕, рдФрд░ рдмрд╛рдИрдВ рдУрд░ - рдХреНрд░реЛрдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВ рдЙрд╕ рдмрд┐рдВрджреБ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдореИрдВ рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ HTTP рд╣реЗрдбрд░ рдХреЗ рдЖрджреЗрд╢ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░рдХреЗ рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Chrome рдпрд╛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреНрдпрд╛ рд╣реИ) рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдКрдВрдЧрд╛ред рдпрджрд┐ рдореЗрдЬрдмрд╛рди рдкрд╣рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ - рдореБрдЭреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрддрд╛ рд╣реИ - рдпрд╣ рдХреНрд░реЛрдо рд╣реИред рддрдм рдореИрдВ рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рд╣рд╛рдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИрдВ - рд╣рдо рди рдХреЗрд╡рд▓ рдСрд░реНрдбрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдорд╛рди рднреА, рдЖрджрд┐ред рдЖрджрд┐ рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреЗ рд╢реАрд░реНрд╖рдХреЛрдВ рдХреЛ рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХреМрди рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЖрдкрдХреЛ рдмреНрд▓реЙрдХ рдХрд░реЗрдВ рдпрд╛ рдЖрдкрдХреЛ рдмреНрд▓реЙрдХ рди рдХрд░реЗрдВред
рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде (рдлрд╝реНрд▓реИрд╢)
рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рд╣реИ, рд╕реАрдзреЗ рдХрдЯреНрдЯрд░, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдлреНрд▓реИрд╢? рдХрд┐рд╕реА рддрд░рд╣ рдореИрдВрдиреЗ рдЕрдВрджрд░ рджреЗрдЦрд╛ - рддреЛ рдореБрдЭреЗ рдЫрд╣ рдорд╣реАрдиреЗ рддрдХ рдиреАрдВрдж рдирд╣реАрдВ рдЖрдИред
рд╣рдо рд╕рднреА рдХреЛ рдпрд╛рдж рд╣реИ рдХрд┐ рдЬрдм рд╣рдо рддрдм рднреА рдпреВрдЯреНрдпреВрдм рджреЗрдЦрд╛ рдХрд░рддреЗ рдереЗ, рддрдм рднреА рдлреНрд▓реИрд╢ рд╣реЛрддрд╛ рдерд╛: рд╡реАрдбрд┐рдпреЛ рдШреВрдо рд░рд╣рд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓ рдЬрдм рдлреНрд▓реИрд╢ рдЬреИрд╕реЗ рдкреЗрдЬ рдкрд░ рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╣рдореЗрд╢рд╛ рдЖрдкрдХреЗ рдУрдПрд╕ рд╕реЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА, рдЖрдкрдХреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЗ YouTube рдХреА рдПрдХ рдФрд░ рд╡рд┐рдВрдбреЛ рдлрд╝реНрд▓реИрд╢ YouTube рд╡рд┐рдВрдбреЛ рдХреЗ рдЕрдВрджрд░ рдереАред рдЬрдм рддрдХ рдЖрдк рдЗрд╕реЗ рдЕрд╕рд▓реА рд╡рд┐рдВрдбреЛ рдирд╣реАрдВ рджреЗрддреЗ, рддрдм рддрдХ рдлреНрд▓реИрд╢ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ - рди рдХреЗрд╡рд▓ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдВрдбреЛ, рдмрд▓реНрдХрд┐ рдПрдХ рд╡рд┐рдВрдбреЛ рдЬреЛ рдЖрдкрдХреА рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣реЗрдбрд▓реЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдлреНрд▓реИрд╢ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред
рдкреВрд░реНрдг рд╕реНрд╡рдЪрд╛рд▓рди рдФрд░ рдмреЙрдЯ
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛, рдмрдбрд╝реА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рддрд╛ рдмрд╣реБрдд рдбрд░рддреЗ рд╣реИрдВ рдЬрдм рдЖрдк рдордХрдбрд╝рд┐рдпреЛрдВ рдпрд╛ рд╣рдбрд╝рдкрдиреЗ рд╡рд╛рд▓реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдмрд╕ рдПрдХ рд╢реБрд▓реНрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдЪреЛрд░реА рдХрд░рддреЗ рд╣реИрдВред
рд╡рд┐рднрд┐рдиреНрди рддрд░рдХреАрдмреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣реЗрдбрд▓реЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рд╣реИрдВред рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐
рдЖрдк рд╣реЗрдбрд▓реЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рдкрд╛рдПрдВрдЧреЗ ред рд╡рд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреИрдирд╡рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдереЗред рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднреА рдереА рдЬреЛ рд╕реНрдХреНрд░реАрди рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдорд╛рдЙрд╕ рд▓реЗ рдЬрд╛рддреА рдереА рдФрд░ рдХреИрдирд╡рд╕ рдХреЛ рднрд░ рджреЗрддреА рдереАред рд╣рдо рд▓реЛрдЧ рд╣реИрдВ рдФрд░ рд╣рдо рдорд╛рдЙрд╕ рдХреЛ рдзреАрд░реЗ-рдзреАрд░реЗ рдШреБрдорд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╣реЗрдбрд▓реЗрд╕ рдХреНрд░реЛрдо рдЬреНрдпрд╛рджрд╛ рддреЗрдЬ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдордЭ рдЧрдИ рдХрд┐ рдХреИрдирд╡рд╕ рдмрд╣реБрдд рдЬрд▓реНрджреА рднрд░ рдЬрд╛рддрд╛ рд╣реИ - рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛рд╣реАрди рд╣реИ рдХреНрд░реЛрдоред рд╣рдордиреЗ рдЗрд╕реЗ рднреА рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рджрд┐рдпрд╛, рдмрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдзреАрдорд╛ рдХрд░рдирд╛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдХреЛрдИ рдорд╛рдирдХ (рдПрдХрд▓) рдПрдкреАрдЖрдИ рдирд╣реАрдВ рд╣реИ
рдпрджрд┐ рдЖрдкрдиреЗ рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╣реЗрдбрд▓реЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреЗрдЦрд╛ рд╣реИ - рддреЛ рдпрд╣ рд╕рдлрд╛рд░реА рдпрд╛ рдлрд╝рд╛рдпрд░реНрдлрд╝реЙрдХреНрд╕ рд╣реЛ - рд╡рд╣рд╛рдБ рдпрд╣ рд╕рдм рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Chrome рдореЗрдВ Chrome DevTools рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИред рдПрдЬ рдореЗрдВ, рдХреБрдЫ рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ - рдХреНрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИред
WebGL?
рд▓реЛрдЧ рдмрд┐рдирд╛ рд╕рд┐рд░ рдХреЗ рдореЛрдб рдореЗрдВ WebGL рдХреЗ рд▓рд┐рдП рднреА рдкреВрдЫрддреЗ рд╣реИрдВред рдпрд╣
рд▓рд┐рдВрдХ рдЖрдкрдХреЛ Google Chrome рдмрдЧ рдЯреНрд░реИрдХрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ
рджреЗрддрд╛ рд╣реИ ред рдбреЗрд╡рд▓рдкрд░реНрд╕, рд╡реЗрдмрдЧреЗрд▓ рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд▓реЗрд╕-рдореЛрдб рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдорддрджрд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╣ рдХреБрдЫ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдЕрдм рдХреЗрд╡рд▓ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд░рддрд┐рдкрд╛рджрди рджреНрд╡рд╛рд░рд╛ рд╕рдВрдпрдорд┐рдд рд╣реИрдВред рдЬреИрд╕реЗ рд╣реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдмрд╛рдж WebGL рдЕрдкрдиреЗ рдЖрдк рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдпрд╛рдиреА рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ!
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╛рдЬрд╛рд░ рдкрд░ рдПрдХ рджреВрд╕рд░рд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рд╣реИ - 11 рдордИ, 2018 рдХреЛ
рдЦрдмрд░ рдереА рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдиреЗ рдЕрдкрдиреЗ рдПрдЬ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд▓рдЧрднрдЧ рдЙрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ Google Chrome рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдХрдВрд╕реЛрд░реНрдЯрд┐рдпрдо рдмрдирд╛рдпрд╛ рдЬрд╣рд╛рдВ рд╡реЗ рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╡реЗ рдПрдХ рдЙрджреНрдпреЛрдЧ рдорд╛рдирдХ рдкрд░ рд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЗ рд╕рдХреЗрдВ рдФрд░ рдЗрд╕реЗ рдПрдЬ, рдХреНрд░реЛрдо рдФрд░ рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдХреЗ рддрд╣рдд рдЪрд▓рд╛ рд╕рдХреЗрдВред
рд▓реЗрдХрд┐рди рдПрдХ "рд▓реЗрдХрд┐рди" рд╣реИ - рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдПрдЬ рдореЗрдВ рд╣реЗрдбрд▓реЗрд╕ рдореЛрдб рдирд╣реАрдВ рд╣реИ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗред рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рдорддрджрд╛рди рдорддрджрд╛рди рд╣реИ рдЬрд╣рд╛рдВ рд▓реЛрдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: "рд╣рдореЗрдВ рдПрдХ рд╕рд┐рд░ рд░рд╣рд┐рдд рдореЛрдб рджреЗрдВ!" - рд▓реЗрдХрд┐рди рд╡реЗ рдЪреБрдк рд╣реИрдВред рд╢рд╛рдпрдж рдЧреБрдкреНрдд рд░реВрдк рд╕реЗ рдХреБрдЫ рджреЗрдЦрд╛ рд╣реЛред
TODO (рдирд┐рд╖реНрдХрд░реНрд╖)
рдореИрдВрдиреЗ рдпрд╣ рд╕рдм рдЗрд╕рд▓рд┐рдП рдмрддрд╛рдпрд╛ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рдкрд╛рд╕ рдЖ рд╕рдХреЗрдВ, рдпрд╛, рдпрджрд┐ рдЖрдк рдПрдХ рдкреНрд░рдмрдВрдзрдХ рд╣реИрдВ, рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕, рдФрд░ рдХрд╣реЗрдВ: тАЬрдпрд╣ рдмрд╛рдд рд╣реИ!
рд╣рдо рдЕрдм рд╕реЗрд▓реЗрдирд┐рдпрдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рд╣рдореЗрдВ Puppeteer рджреЗрдВ! рд╣рдо рдЗрд╕рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВрдЧреЗред тАЭ рдРрд╕рд╛ рд╣реЛрдиреЗ рдкрд░ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореЗрд░реА рддрд░рд╣, Puppeteer рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░, рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдмрдЧ рдкреЛрд╕реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдФрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред OpenSource рдореЗрдВ рдпрд╣
рдЯреВрд▓ GitHub рдкрд░ рд╣реИ, Node.js рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ - рдЖрдк рдЗрд╕реЗ рдЙрдзрд╛рд░ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Puppeteer рдХреЗ рд╕рд╛рде рдорд╛рдорд▓рд╛ рдЗрд╕ рдорд╛рдпрдиреЗ рдореЗрдВ рдЕрдиреВрдард╛ рд╣реИ рдХрд┐ Google рдореЗрдВ рджреЛ рдЯреАрдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИрдВ: рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ Puppeteer рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИ, рджреВрд╕рд░реА рд╣реЗрдбрд▓реЗрд╕ рдореЛрдб рдХреЗ рд╕рд╛рдеред рдпрджрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдЧ рдвреВрдВрдврддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ GitHub рдкрд░ рд▓рд┐рдЦрддрд╛ рд╣реИ, рддреЛ рдпрджрд┐ рдпрд╣ рдмрдЧ Puppeteer рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди Headless Chrome рдореЗрдВ, рдмрдЧ Headless Chrome рдХрдорд╛рдВрдб рдкрд░ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╡реЗ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдареАрдХ рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдкреНрдпреВрдкреЗрдЯреЗрд░ рдХреЛ рдмрд╣реБрдд рдЬрд▓реНрджреА рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХрд▓ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╕рдореБрджрд╛рдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЖрдкрд╕реЗ рдЯреВрд▓ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдЖрдЧреНрд░рд╣ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдкрд░реАрдХреНрд╖рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдВрдкрд░реНрдХ рд╡рд┐рд╡рд░рдг:
- github.com/vitallium
- vk.com/vitallium
- twitter.com/vitalliumm
рдлреНрд░рдВрдЯреЗрдВрдб рдХреЙрдиреНрдл рдореЙрд╕реНрдХреЛ - рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдореНрдореЗрд▓рди рдореЙрд╕реНрдХреЛ рдореЗрдВ 4 рдФрд░ 5 рдЕрдХреНрдЯреВрдмрд░ рдХреЛ , рдЗрдиреНрдлреЛрд╕рд┐рд╕ рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдореНрдореЗрд▓рди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрд╡реАрдХреГрдд рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреА рдЧрдИ рд╣реИред
рд╣рдорд╛рд░реЗ рд╕рдорд╛рдЪрд╛рд░ рдкрддреНрд░ рдореЗрдВ рд╣рдо рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рднрд╛рд╖рдгреЛрдВ рдХреА рд╡рд┐рд╖рдпрдЧрдд рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдЯреЗрдк рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ - рдкрд╣рд▓реЗ рд╕рдорд╛рдЪрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВред
рдФрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рдпреВрдЯреНрдпреВрдм рдЪреИрдирд▓ рдХреЗ рд╕рд╛рдордиреЗ рдХреЗ рдЫреЛрд░ рдкрд░ рдПрдХ рдХрдбрд╝реА рд╣реИ, рдЗрд╕рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧ рдХреЗ рд╡рд┐рдХрд╛рд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рднрд╛рд╖рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред