paint-brush
So holen Sie nach den neuesten Updates das Beste aus Playwright herausvon@brightdata
1,386 Lesungen
1,386 Lesungen

So holen Sie nach den neuesten Updates das Beste aus Playwright heraus

von Bright Data5m2023/12/17
Read on Terminal Reader

Zu lang; Lesen

Erraten Sie, was? Microsoft hat gerade wie am Schnürchen eine neue Version von Playwright veröffentlicht! Mit Fehlerbehebungen und API-Änderungen auf dem Laufenden zu bleiben, kann sich wie ein Vollzeitjob anfühlen, und das Verpassen cooler Funktionen ist ein Kinderspiel. Aber keine Sorge, wir stehen Ihnen zur Seite! Wir sind hier, um Ihnen dabei zu helfen, auf dem Laufenden zu bleiben, neue Tricks zu erlernen und Ihre Kollegen mit Ihren herausragenden Fähigkeiten zu begeistern! Bereit zum Eintauchen? Lass uns gehen!
featured image - So holen Sie nach den neuesten Updates das Beste aus Playwright heraus
Bright Data HackerNoon profile picture
0-item
1-item
2-item
3-item
4-item


Erraten Sie, was? Microsoft hat gerade wie am Schnürchen eine neue Version vonPlaywright veröffentlicht! Mit Fehlerbehebungen und API-Änderungen auf dem Laufenden zu bleiben, kann sich wie ein Vollzeitjob anfühlen, und das Verpassen cooler Funktionen ist ein Kinderspiel. Aber keine Sorge; Wir sind für Sie da!


Begleiten Sie uns auf einer Reise durch die neuesten Playwright-Updates. Wir sind hier, um Ihnen dabei zu helfen, auf dem Laufenden zu bleiben, neue Tricks zu erlernen und Ihre Kollegen mit Ihren herausragenden Fähigkeiten zu begeistern! Bereit zum Eintauchen? Lass uns gehen!


Neueste Updates für Playwright (v1.04)

Wenn Sie einen Blick aus erster Hand auf die neuesten Playwright-Updates anhand einiger toller Beispiele werfen möchten, besuchen Sie den YouTube-Kanal von Playwright und schauen Sie sich das monatliche Video „Was gibt es Neues bei Playwright“ an:

Es ist Zeit, die neuesten Funktionen von Playwright zu erkunden und herauszufinden, wie Sie sie optimal nutzen können 🔍

Neue APIs

  • Das Feld FirefoxUserPrefs wurde zum options von browserType.launchPersistentContext(userDataDir, options) hinzugefügt. Diese Methode startet einen Browser mithilfe des persistenten Speichers unter userDataDir und gibt die Browser-Kontextinstanz zurück. firefoxUserPrefs “ ist ein Objekt, das die Firefox-Benutzereinstellungen enthält, wie unter about:config angegeben.
  • Das Feld reason wurde dem options der Methoden page.close(options) , browserContext.close(options) und browser.close(options) hinzugefügt. reason ist eine Zeichenfolge, die die Fehlermeldung enthält, die von allen Vorgängen gemeldet wird, die infolge eines close() Aufrufs unterbrochen wurden.


Während firefoxUserPrefs speziell auf Firefox-Benutzer zugeschnitten ist, die benutzerdefinierte Konfigurationen benötigen, ist das Feld „ reason viel allgemeinerer Natur. Verwenden Sie es wie im folgenden Snippet:


 await browser.close({ reason: "Scraping process completed!" })


Alle ausstehenden Vorgänge, die durch browser.close() unterbrochen werden, lösen nun einen JavaScript-Fehler mit der Meldung „Scraping-Prozess abgeschlossen!“ aus.


Wie verwende ich diese Funktion? Stellen Sie sich vor, Ihre Zielseite befindet sich mitten in einer kritischen Aufgabe – sagen wir, sie wartet darauf, dass einige Daten abgerufen werden. Plötzlich tritt ein unerwarteter Fehler auf und Sie müssen den Browser ordnungsgemäß schließen.


Ohne reason hätten Sie keine Ahnung, ob die Ressourcen für die laufende Aufgabe freigegeben wurden und warum der Vorgang unterbrochen wurde. Nicht zu wissen, was vor sich geht, ist schlecht, insbesondere wenn Sie die Aufgabe haben, die Ursache für einen Fehler in den Protokollen eines automatisierten Web-Scraping-Skripts zu untersuchen. Hier kommt Ihnen das Feld „Grund“ zu Hilfe und erspart Ihnen Tage mühsamer Nachforschungen.


Großartig, diese API-Einführung erleichtert das Debuggen erheblich! 🚀

Neue Funktionalität für das Testgenerator-Tool

Das Playwright Test Generator-Tool , das zum automatischen Erstellen von Tests entwickelt wurde, während Sie Aktionen in einem Browser ausführen, bietet jetzt die folgenden Schaltflächen:


  • Sichtbarkeit bestätigen : Stellen Sie sicher, dass das ausgewählte Element sichtbar ist, indem Sie eine expect(locator).toBeVisible() Anweisung generieren.
  • Text bestätigen : Stellen Sie über eine expect(locator).toContainText() -Anweisung sicher, dass das ausgewählte HTML-Element bestimmten Text enthält
  • Wert bestätigen : Überprüfen Sie, ob das ausgewählte Element einen bestimmten Wert hat, indem Sie Ihrem Test eine expect(locator).toHaveValue() Anweisung hinzufügen.


Stellen Sie sich Folgendes vor : Sie arbeiten an einer komplexen Aufgabe, beispielsweise dem Erstellen eines Web-Scrapers für eine dynamische Webseite . Angenommen, Sie müssen sicherstellen, dass einige Elemente auf der Seite sichtbar sind und bestimmten Text oder Werte enthalten. Das würde eine komplexe Logik erfordern 👎. Aber warten Sie – dank dieses neuen Updates läuft alles auf ein paar Klicks im Testgenerator-Tool hinaus!


Sehen Sie sich diese neue Funktion im folgenden GIF in Aktion an:


PlaywrightTest Generator-Tool


Durch diese Testgenerator-Interaktion wird der folgende TypeScript-Test für Sie erstellt:


 import { test, expect } from '@playwright/test'; test('test', async ({ page }) => { await page.goto('https://playwright.dev/'); await expect(page.getByRole('banner')).toContainText('Get started'); });

✨ Ziemlich magisch, nicht wahr? ✨

Aktualisierte Browserversionen

In der großen Tradition der großen Updates von Playwright wurde die Reihe der unterstützten Browser mit neueren Versionen aktualisiert:

  • Chrom 120.0.6099.28
  • Mozilla Firefox 119.0
  • WebKit 17.4


Aber das ist nicht alles! Die aktuelle Version von Playwright hat sich auch bei den folgenden stabilen Kanälen hervorragend bewährt:

  • Google Chrome 119

  • Microsoft Edge 119


Weitere kleinere Änderungen

  • Die Methoden download.path() und download.createReadStream() geben jetzt einen Fehler aus, wenn der Download-Vorgang fehlschlägt oder abgebrochen wird.

  • Das Playwright-Docker-Image wird jetzt mit Node.js v20 geliefert.


Sie möchten keine neuen Updates verpassen? Behalten Sie die Seite mit den Playwright- Versionshinweisen im Auge!

So aktualisieren Sie Playwright

Jetzt denken Sie bestimmt: „Wie komme ich an diese fantastischen Neuzugänge?“ Nun, indem ich Playwright auf die neueste Version aktualisiere, mein Freund!


Starten Sie einfach den folgenden Befehl:

npm install @playwright/test@latest

Und vergessen Sie, die Browserinstanzen zu aktualisieren mit:

npx playwright install


Voilà! Sie sind bereit, die neuesten Playwright-Updates in die Hände zu bekommen!

Neuer Dramatiker, dieselben alten Probleme ...

Unabhängig davon, wie aktuell Ihre Version von Playwright ist, können die meisten Websites Ihre automatisierten Skripte weiterhin erkennen und blockieren. Aber wie ist das überhaupt möglich? Nun, Headless-Browser, die von Bibliotheken wie Playwright gesteuert werden, beinhalten spezielle Konfigurationen und Einstellungen, die von Anti-Bot-Lösungen als Warnsignale angesehen werden. Die Konsequenz? Sofortige Sperrungen oder das unerwünschte Erscheinen von CAPTCHA und anderen lästigen Hindernissen .


Jetzt denken Sie vielleicht: „Kann ich nicht einfach meine Browsereinstellungen anpassen, um das zu vermeiden?“


Nicht so schnell, Kleiner! Das ist aus mindestens drei zwingenden Gründen keine gute Idee:


  1. Es ist ein nie endendes Katz-und-Maus-Spiel – Anti-Bot-Maßnahmen entwickeln sich weiter, so dass die Problemumgehung von heute schon morgen veraltet ist.
  2. Selbst bei den ausgefeiltesten Browserkonfigurationen können übermäßige Anfragen von derselben IP immer noch misstrauische Blicke auf der Zielseite hervorrufen.
  3. Benutzerinteraktionen wie Formularübermittlungen erfordern möglicherweise die Lösung von CAPTCHAs, was kein Kinderspiel ist, um sie zu automatisieren!


Das Problem liegt nicht an der Browser-Automatisierungsbibliothek selbst (Playwright rockt! 🤘), sondern vielmehr daran, dass der Browser unter Kontrolle ist. Die Lösung wäre ein hochgradig anpassbarer Browser, der:


  • Läuft im Headed-Modus wie ein normaler Browser, um Bot-Erkennung zu vermeiden.
  • Kann problemlos in die Cloud skaliert werden, um Zeit und Geld bei der Infrastrukturverwaltung zu sparen.
  • Bietet rotierende IPs, die von einem der breitesten und zuverlässigsten Proxy-Netzwerke auf dem Markt unterstützt werden
  • Kann CAPTCHA-Lösung, Browser-Fingerprinting, Cookie- und Header-Anpassung sowie automatische Wiederholungsversuche automatisch für Sie verwalten, um maximale Effektivität zu erzielen.
  • Integriert sich in die beliebtesten Browser-Automatisierungsbibliotheken wie Playwright, Selenium und Puppeteer


Ob Sie es glauben oder nicht, das ist keine weit entfernte Fata Morgana. Das ist wahr und genau darum geht es bei der Scraping-Browser-Lösung von Bright Data !


Abschließende Gedanken

Playwright ist der Rockstar unter den Browser-Automatisierungsbibliotheken, und genau wie der Weihnachtsmann an Heiligabend Geschenke verteilt, veröffentlicht Microsoft jeden Monat ein großes neues Update. Hier haben Sie gesehen, wie Sie die neuesten Playwright-Updates optimal nutzen können, aber seien wir ehrlich: Sie werden Sie nicht auf magische Weise für Websites mit fortschrittlichen Bot-Erkennungstechnologien unsichtbar machen.


Weichen Sie dieser Kugel mit der Scraping-Browser-Lösung von Bright Data aus und schließen Sie sich unserer Mission an, das Internet zu einem öffentlichen Ort für alle und überall zu machen, auch durch automatisierte Skripte!


Erkunden Sie das Web bis zum nächsten Mal weiterhin in Freiheit!