¿Adivina qué? ¡Microsoft acaba de lanzar una nueva versión dePlaywright como un reloj! Mantenerse al día con las correcciones de errores y los cambios de API puede parecer un trabajo de tiempo completo, y perderse funciones interesantes es muy fácil. Pero no te preocupes; ¡te cubrimos!
Únase a nosotros en un viaje a través de las últimas actualizaciones de Playwright. ¡Estamos aquí para ayudarlo a mantenerse informado, aprender algunos trucos nuevos y sorprender a sus colegas con sus habilidades estelares! ¿Listo para sumergirte? ¡Vamos!
Si está ansioso por ver de primera mano las últimas actualizaciones de Playwright a través de algunos ejemplos increíbles, diríjase al canal de YouTube de Playwright y mire el video mensual "Novedades de Playwright":
Es hora de explorar las últimas funciones introducidas en Playwright y ver cómo aprovecharlas al máximo 🔍
FirefoxUserPrefs
agregado al argumento del objeto de options
de browserType.launchPersistentContext(userDataDir, options)
. Ese método inicia un navegador utilizando un almacenamiento persistente ubicado en userDataDir
y devuelve la instancia de contexto del navegador. firefoxUserPrefs
`es un objeto que contiene las preferencias del usuario de Firefox como se especifica en about:config
.reason
agregado al argumento del objeto options
de los métodos page.close(options)
, browserContext.close(options)
y browser.close(options)
. reason
es una cadena que contiene el mensaje de error informado por todas las operaciones interrumpidas como resultado de una llamada a close()
.
Si bien firefoxUserPrefs
está dirigido específicamente a los usuarios de Firefox que necesitan configuraciones personalizadas, el campo reason
tiene un propósito mucho más general. Úselo como en el siguiente fragmento:
await browser.close({ reason: "Scraping process completed!" })
Todas las operaciones pendientes interrumpidas por browser.close()
ahora generarán un error de JavaScript con el mensaje "¡Proceso de raspado completado!".
¿Cómo utilizar esta función? Imagine que su página de destino se encuentra en medio de una tarea crítica; digamos, esperando que se recuperen algunos datos. De repente, aparece un error inesperado y te enfrentas a la necesidad de cerrar correctamente el navegador.
Sin reason
, no tendría ni idea de si se han liberado los recursos para la tarea en curso y por qué se interrumpió la operación. No saber qué está pasando es malo, especialmente cuando tienes la tarea de inspeccionar el motivo de un error en los registros de un script de web scraping automatizado. Ahí es donde el campo "razón" viene a rescatarlo, ahorrándole días de minuciosa investigación.
¡Genial, esta introducción a la API hace que la depuración sea mucho más fácil! 🚀
La herramienta Playwright Test Generator , diseñada para crear pruebas automáticamente a medida que realiza acciones en un navegador, ahora proporciona los siguientes botones:
expect(locator).toBeVisible()
.expect(locator).toContainText()
expect(locator).toHaveValue()
a su prueba.
Imagínese esto : está trabajando en una tarea compleja, como crear un raspador web para una página web dinámica . Suponga que necesita asegurarse de que algunos elementos de la página sean visibles y contengan texto o valores específicos. Eso implicaría una lógica compleja 👎. Pero espera, gracias a esta nueva actualización, ¡todo se reduce a unos pocos clics en la herramienta Generador de pruebas!
Vea esta nueva característica en acción en el siguiente GIF:
Esa interacción del Generador de pruebas producirá la siguiente prueba de TypeScript:
import { test, expect } from '@playwright/test'; test('test', async ({ page }) => { await page.goto('https://playwright.dev/'); await expect(page.getByRole('banner')).toContainText('Get started'); });
✨ Bastante mágico, ¿no? ✨
Siguiendo la gran tradición de las principales actualizaciones de Playwright, la línea de navegadores compatibles se ha actualizado con versiones más nuevas:
¡Pero eso no es todo! La versión actual de Playwright también ha demostrado ser excelente en los siguientes canales estables:
Google Chrome 119
Microsoft Edge 119
Los métodos download.path()
y download.createReadStream()
ahora arrojan un error cuando la operación de descarga falla o se cancela.
La imagen acoplable de Playwright ahora viene con Node.js v20.
¿No quieres perderte ninguna nueva actualización? ¡Esté atento a la página de notas de la versión de Playwright!
Ahora debes estar pensando: "¿Cómo puedo conseguir esas nuevas y fantásticas incorporaciones?" Bueno, ¡actualizando Playwright a la última versión, amigo!
Simplemente ejecute el siguiente comando:
npm install @playwright/test@latest
Y olvídese de actualizar las instancias del navegador con:
npx playwright install
¡Voilá! ¡Ya estás listo para tener en tus manos las últimas actualizaciones de Playwright!
No importa qué tan actualizada esté su versión de Playwright, la mayoría de los sitios aún podrán detectar y bloquear sus scripts automatizados. ¿Pero cómo es eso posible? Bueno, los navegadores sin cabeza controlados por bibliotecas como Playwright implican configuraciones y ajustes especiales que las soluciones anti-bot consideran señales de alerta. ¿La consecuencia? Bloqueos inmediatos o la aparición no deseada de CAPTCHA y otros obstáculos molestos .
Ahora quizás estés pensando: "¿No puedo simplemente modificar la configuración de mi navegador para evitar esto?"
¡No tan rápido, chico! Esa no es una gran idea por al menos tres razones de peso:
El problema no está en la biblioteca de automatización del navegador en sí (¡Dramaturgo es genial! 🤘), sino en el navegador bajo control. La solución sería un navegador altamente personalizable que:
Lo creas o no, eso no es un espejismo lejano. ¡Eso es real y es exactamente de lo que se trata la solución Scraping Browser de Bright Data !
Playwright es la estrella de rock de las bibliotecas de automatización de navegadores y, al igual que Papá Noel entrega regalos en Nochebuena, Microsoft lanza una nueva actualización importante cada mes. Aquí has visto cómo aprovechar al máximo las últimas actualizaciones de Playwright, pero seamos realistas, no te harán invisible mágicamente para los sitios con tecnologías avanzadas de detección de bots.
Esquiva esa bala con la solución Scraping Browser de Bright Data y únete a nuestra misión de hacer de Internet un lugar público para todos, en todas partes, ¡incluso a través de scripts automatizados!
¡Hasta la próxima, sigue explorando la Web con libertad!