ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π²ΡΠΏΡΡΠΊ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Puppeteer 23, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ web-Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΊ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΈ ΡΠΈΠΌΡΠ»ΡΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ TypeScript Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Node.js ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Puppeteer ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΠΈΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ, Π²ΡΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π½ΡΠΆΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π°, ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, Π²ΡΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΎΠΊΡΡ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ°, Π²Π²ΠΎΠ΄ΡΡΠΈΠΉ Π² ΠΏΠΎΠ»Π΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ²Π΅ΠΆΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ°, ΡΠΈΠΌΡΠ»ΡΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π΅ Pixel 5), ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΡΠΌ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ, ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ²ΠΎΠΈ ΡΠΊΡΠΈΠΏΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌΡΡ ΡΡΡΠ°Π½ΠΈΡ.
ΠΡΠΏΡΡΠΊ Puppeteer 23 ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»Π΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Firefox, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² Π½Π° Π±Π°Π·Π΅ Π΄Π²ΠΈΠΆΠΊΠ° Chromium (ΠΏΡΠΎΠ΅ΠΊΡ Puppeteer ΡΠ°Π·Π²ΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Chrome Browser Automation). ΠΠ»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ CDP (Chrome DevTools Protocol) ΠΈ WebDriver BiDi. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ Π±Π΅Π· ΡΠΊΡΠ°Π½Π° (headless). ΠΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Firefox ΠΈ WebDriver BiDi, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Puppeteer Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΠ°Π·Π½ΡΡ
Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ
.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru