Devinez quoi? Microsoft vient de sortir une nouvelle version dePlaywright comme sur des roulettes ! Suivre les corrections de bugs et les modifications de l'API peut ressembler à un travail à temps plein, et manquer des fonctionnalités intéressantes est un jeu d'enfant. Mais ne vous inquiétez pas ; nous sommes là pour vous !
Rejoignez-nous pour un voyage à travers les dernières mises à jour de Playwright. Nous sommes là pour vous aider à rester au courant, à découvrir de nouvelles astuces et à épater vos collègues avec vos compétences exceptionnelles ! Prêt à plonger ? Allons-y!
Si vous souhaitez avoir un aperçu direct des dernières mises à jour de Playwright à travers quelques exemples impressionnants, rendez-vous sur la chaîne YouTube de Playwright et regardez la vidéo mensuelle « Quoi de neuf chez Playwright » :
Il est temps d'explorer les dernières fonctionnalités introduites dans Playwright et de voir comment en tirer le meilleur parti 🔍
FirefoxUserPrefs
ajouté à l’argument d’objet options
de browserType.launchPersistentContext(userDataDir, options)
. Cette méthode lance un navigateur en utilisant le stockage persistant situé dans userDataDir
et renvoie l'instance de contexte du navigateur. firefoxUserPrefs
`est un objet contenant les préférences utilisateur de Firefox telles que spécifiées dans about:config
.reason
ajouté à l’argument de l’objet options
des méthodes page.close(options)
, browserContext.close(options)
et browser.close(options)
. reason
est une chaîne contenant le message d'erreur signalé par toutes les opérations interrompues à la suite d'un appel close()
.
Alors que firefoxUserPrefs
s'adresse spécifiquement aux utilisateurs de Firefox ayant besoin de configurations personnalisées, le champ reason
est beaucoup plus général. Utilisez-le comme dans l'extrait ci-dessous :
await browser.close({ reason: "Scraping process completed!" })
Toutes les opérations en attente interrompues par browser.close()
généreront désormais une erreur JavaScript avec le message « Processus de grattage terminé ! »
Comment utiliser cette fonctionnalité ? Imaginez que votre page cible soit au milieu d'une tâche critique, par exemple en attendant que certaines données soient récupérées. Soudain, une erreur inattendue apparaît et vous êtes confronté à la nécessité de fermer correctement le navigateur.
Sans reason
, vous ne sauriez pas si les ressources pour la tâche en cours ont été libérées et pourquoi l'opération a été interrompue. Ne pas savoir ce qui se passe est mauvais, surtout lorsque vous êtes chargé d'inspecter la raison d'une erreur dans les journaux d'un script de web scraping automatisé. C'est là que le champ « raison » vient à votre secours, vous épargnant des journées d'investigation minutieuse.
Génial, cette introduction à l'API rend le débogage beaucoup plus facile ! 🚀
L' outil Playwright Test Generator , conçu pour créer automatiquement des tests lorsque vous effectuez des actions dans un navigateur, propose désormais les boutons suivants :
expect(locator).toBeVisible()
.expect(locator).toContainText()
expect(locator).toHaveValue()
à votre test.
Imaginez ceci : vous travaillez sur une tâche complexe, telle que la création d'un grattoir Web pour une page Web dynamique . Supposons que vous deviez vous assurer que certains éléments de la page sont visibles et contiennent du texte ou des valeurs spécifiques. Cela impliquerait une logique complexe 👎. Mais attendez, grâce à cette nouvelle mise à jour, tout se résume à quelques clics dans l’outil Test Generator !
Découvrez cette nouvelle fonctionnalité en action dans le GIF suivant :
Cette interaction avec le générateur de tests produira pour vous le test TypeScript suivant :
import { test, expect } from '@playwright/test'; test('test', async ({ page }) => { await page.goto('https://playwright.dev/'); await expect(page.getByRole('banner')).toContainText('Get started'); });
✨ Plutôt magique, n'est-ce pas ? ✨
Dans la grande tradition des mises à jour majeures de Playwright, la gamme de navigateurs pris en charge a été mise à jour avec des versions plus récentes :
Mais ce n'est pas tout! La version actuelle de Playwright s'est également révélée excellente par rapport aux chaînes stables suivantes :
Google Chrome 119
MicrosoftEdge 119
Les méthodes download.path()
et download.createReadStream()
génèrent désormais une erreur lorsque l'opération de téléchargement échoue ou est annulée.
L'image Docker Playwright est désormais fournie avec Node.js v20.
Vous ne voulez manquer aucune nouvelle mise à jour ? Gardez un œil sur la page Notes de version de Playwright !
Maintenant, vous devez vous demander : « Comment puis-je mettre la main sur ces nouveaux ajouts fantastiques ? Eh bien, en mettant à jour Playwright vers la dernière version, mon ami !
Lancez simplement la commande ci-dessous :
npm install @playwright/test@latest
Et oubliez de mettre à jour les instances du navigateur avec :
npx playwright install
Voilà ! Vous êtes prêt à mettre la main sur les dernières mises à jour de Playwright !
Quelle que soit la mise à jour de votre version de Playwright, la plupart des sites seront toujours en mesure de détecter et de bloquer vos scripts automatisés. Mais comment est-ce possible ? Eh bien, les navigateurs sans tête contrôlés par des bibliothèques comme Playwright impliquent des configurations et des paramètres spéciaux qui sont considérés comme des signaux d'alarme par les solutions anti-bot. La conséquence? Blocages immédiats ou apparition indésirable de CAPTCHA et autres obstacles embêtants .
Maintenant, vous pensez peut-être : « Est-ce que je ne peux pas simplement modifier les paramètres de mon navigateur pour éviter cela ? »
Pas si vite, gamin ! Ce n'est pas une bonne idée pour au moins trois raisons impérieuses :
Le problème ne vient pas de la bibliothèque d'automatisation du navigateur elle-même (Playwright est génial ! 🤘), mais plutôt du navigateur sous contrôle. La solution serait un navigateur hautement personnalisable qui :
Croyez-le ou non, ce n’est pas un mirage lointain. C'est réel et c'est exactement l'objectif de la solution Scraping Browser de Bright Data !
Playwright est la rock star des bibliothèques d'automatisation de navigateur et, tout comme le Père Noël offre des cadeaux la veille de Noël, Microsoft publie chaque mois une nouvelle mise à jour majeure. Ici, vous avez vu comment tirer le meilleur parti des dernières mises à jour de Playwright, mais avouons-le, elles ne vous rendront pas comme par magie invisible sur les sites dotés de technologies avancées de détection de robots.
Évitez cette balle avec la solution Scraping Browser de Bright Data et rejoignez notre mission : faire d'Internet un lieu public pour tous, partout, même via des scripts automatisés !
En attendant la prochaine fois, continuez à explorer le Web en toute liberté !