paint-brush
Comment tirer le meilleur parti de Playwright après les dernières mises à jourpar@brightdata
1,897 lectures
1,897 lectures

Comment tirer le meilleur parti de Playwright après les dernières mises à jour

par Bright Data5m2023/12/17
Read on Terminal Reader

Trop long; Pour lire

Devinez quoi? Microsoft vient de sortir une nouvelle version de Playwright comme sur des roulettes ! Suivre les corrections de bugs et les modifications de l'API peut ressembler à un travail à plein temps, et manquer des fonctionnalités intéressantes est un jeu d'enfant. Mais ne vous inquiétez pas, nous sommes là pour vous ! 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!
featured image - Comment tirer le meilleur parti de Playwright après les dernières mises à jour
Bright Data HackerNoon profile picture
0-item
1-item
2-item
3-item
4-item


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!


Dernières mises à jour du dramaturge (v1.04)

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 🔍

Nouvelles API

  • Champ 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 .
  • champ 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 ! 🚀

Nouvelle fonctionnalité pour l’outil générateur de tests

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 :


  • Affirmer la visibilité : Vérifiez que l'élément sélectionné est visible en générant une instruction expect(locator).toBeVisible() .
  • Assert text : assurez-vous que l'élément HTML sélectionné contient un texte spécifique via une instruction expect(locator).toContainText()
  • Assert value : Vérifiez que l’élément select a une valeur particulière en ajoutant une instruction 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 :


Outil générateur de test Playwright


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 ? ✨

Versions de navigateur mises à jour

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 :

  • Chrome 120.0.6099.28
  • Mozilla Firefox 119.0
  • WebKit 17.4


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


Autres changements mineurs

  • 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 !

Comment mettre à jour le dramaturge

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 !

Nouveau dramaturge, mêmes vieux problèmes…

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 :


  1. Il s'agit d'un jeu sans fin du chat et de la souris : les mesures anti-bots évoluent, rendant les solutions de contournement d'aujourd'hui obsolètes d'ici demain.
  2. Même avec les configurations de navigateur les plus sophistiquées, des requêtes excessives provenant de la même adresse IP peuvent toujours vous attirer des regards suspects de la part du site cible.
  3. Les interactions des utilisateurs, telles que les soumissions de formulaires, peuvent nécessiter la résolution de CAPTCHA, ce qui n'est pas une promenade de santé à automatiser !


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 :


  • Fonctionne en mode dirigé comme un navigateur normal pour éviter la détection des robots.
  • Peut facilement évoluer vers le cloud pour vous faire gagner du temps et de l'argent dans la gestion de l'infrastructure.
  • Fournit des adresses IP rotatives soutenues par l'un des réseaux proxy les plus larges et les plus fiables du marché
  • Peut gérer automatiquement la résolution de CAPTCHA, les empreintes digitales du navigateur, la personnalisation des cookies et des en-têtes, ainsi que les tentatives automatiques pour vous pour une efficacité maximale.
  • S'intègre aux bibliothèques d'automatisation de navigateur les plus populaires, telles que Playwright, Selenium et Puppeteer


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 !


Dernières pensées

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é !