paint-brush
Cómo aprovechar al máximo Dramaturgo después de las últimas actualizacionespor@brightdata
1,386 lecturas
1,386 lecturas

Cómo aprovechar al máximo Dramaturgo después de las últimas actualizaciones

por Bright Data5m2023/12/17
Read on Terminal Reader

Demasiado Largo; Para Leer

¿Adivina qué? ¡Microsoft acaba de lanzar una nueva versión de Playwright 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 respaldamos! ¡Estamos aquí para ayudarlo a mantenerse informado, aprender algunos trucos nuevos y sorprender a sus colegas con sus habilidades estelares! ¿Listo para sumergirte? ¡Vamos!
featured image - Cómo aprovechar al máximo Dramaturgo después de las últimas actualizaciones
Bright Data HackerNoon profile picture
0-item
1-item
2-item
3-item
4-item


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


Últimas actualizaciones de Dramaturgo (v1.04)

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 🔍

Nuevas API

  • Campo 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 .
  • campo 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! 🚀

Nueva funcionalidad para la herramienta generadora de pruebas

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:


  • Afirmar visibilidad : verifique que el elemento seleccionado sea visible generando una instrucción expect(locator).toBeVisible() .
  • Afirmar texto : asegúrese de que el elemento HTML seleccionado contenga texto específico mediante una instrucción expect(locator).toContainText()
  • Afirmar valor : verifique que el elemento seleccionado tenga un valor particular agregando una instrucción 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:


Herramienta generadora de pruebas de dramaturgo


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

Versiones actualizadas del navegador

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:

  • Cromo 120.0.6099.28
  • Mozilla Firefox 119.0
  • WebKit 17.4


¡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


Otros cambios menores

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

Cómo actualizar el dramaturgo

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!

Nuevo dramaturgo, los mismos viejos problemas...

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:


  1. Es un juego interminable del gato y el ratón: las medidas anti-bot evolucionan, haciendo que la solución alternativa de hoy sea noticia vieja mañana.
  2. Incluso con las configuraciones de navegador más hábiles, las solicitudes excesivas de la misma IP aún pueden generar miradas sospechosas desde el sitio de destino.
  3. Las interacciones del usuario, como el envío de formularios, pueden requerir la resolución de CAPTCHA, ¡lo cual no es un paseo por el parque para automatizar!


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:


  • Se ejecuta en modo encabezado como un navegador normal para evitar la detección de bots.
  • Puede escalar fácilmente a la nube para ahorrarle tiempo y dinero en la gestión de infraestructura.
  • Proporciona IP rotativas respaldadas por una de las redes proxy más amplias y confiables del mercado.
  • Puede administrar automáticamente la resolución de CAPTCHA, las huellas digitales del navegador, la personalización de cookies y encabezados, y los reintentos automáticos para lograr la máxima efectividad.
  • Se integra con las bibliotecas de automatización de navegadores más populares, como Playwright, Selenium y Puppeteer.


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 !


Pensamientos finales

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!