En este artículo, discutiremos sobre el marco de trabajo de Playwright, su función, las ventajas de Playwright y el raspado de una página web básica.
El dramaturgo es un marco para pruebas y automatización web. Es una herramienta de prueba web bastante nueva de Microsoft presentada para permitir a los usuarios automatizar páginas web de manera más eficiente con menos requisitos iniciales en comparación con la herramienta Selenium ya existente. Aunque Playwright es significativamente mejor que Selenium en términos de velocidad, usabilidad y confiabilidad, permite probar Chromium, Firefox y WebKit con una sola API. El dramaturgo está diseñado para permitir la automatización web entre navegadores que es confiable y rápida.
Características del dramaturgo
- Ejecución sin cabeza.
- Espera automática de elementos.
- Interceptar la actividad de la red.
- Emular dispositivos móviles, geolocalización y permisos.
- Compatibilidad con componentes web a través de selectores de perforación de sombras.
- Capture videos, capturas de pantalla y archivos HAR.
- Los contextos permiten sesiones aisladas.
- Ejecución paralela.
Ventajas del dramaturgo
- Ejecutable multinavegador
- Código completamente abierto
- documentación del pozo
- Ejecuta pruebas en paralelo
- Pruebas de API
- Aislamiento de contexto
- Compatibilidad con Python
Creación de un entorno virtual de Python
Siempre es recomendable trabajar en un entorno virtual separado específicamente si está utilizando una biblioteca en particular. Aquí, estamos creando un entorno virtual «venv» y activándolo.
Creando entorno virtual
virtualenv venv
activarlo
venv/Scripts/activate
Instalación y configuración de Playwright:
pip install playwright playwright install
Automatización y extracción de datos de una página web
Después de instalar la biblioteca Playwright, ahora es el momento de escribir código para automatizar una página web. Para este artículo, utilizaremos quotes.toscrape.com.
Paso 1: Importaremos algunos paquetes necesarios y configuraremos la función principal.
Python3
from playwright.sync_api import sync_playwright def main(): pass if __name__ == '__main__': main()
Paso 2: Ahora escribiremos nuestros códigos en la función ‘principal’. Este código abrirá la página web anterior, esperará 10000 milisegundos y luego cerrará la página web.
Python3
with sync_playwright() as p: browser = p.chromium.launch(headless=False) page = browser.new_page() page.goto('https://quotes.toscrape.com/') page.wait_for_timeout(10000) browser.close()
Paso 3: Esto seleccionará todas las casillas con la clase ‘autor’ con bucle for , e iteraremos a través de cada elemento y extraeremos la cita y su nombre de autor. Siempre se recomienda usar un diccionario de Python para almacenar diferentes campos de datos con pares de clave y valor. Después de eso, estamos imprimiendo el diccionario en la terminal.
Python3
all_quotes = page.query_selector_all('.quote') for quote in all_quotes: quote = quote.query_selector('.text').inner_text() author = quote.query_selector('.author').inner_text() print({'Author': author, 'Quote': quote}) page.wait_for_timeout(10000) browser.close()
Implementación de código
Código completo para raspar citas y sus autores:
Python3
from playwright.sync_api import sync_playwright def main(): with sync_playwright() as p: browser = p.chromium.launch(headless=False) page = browser.new_page() page.goto('https://quotes.toscrape.com/') all_quotes = page.query_selector_all('.quote') for quote in all_quotes: quote = quote.query_selector('.text').inner_text() author = quote.query_selector('.author').inner_text() print({'Author': author, 'Quote': quote}) page.wait_for_timeout(10000) browser.close() if __name__ == '__main__': main()
Producción :
Publicación traducida automáticamente
Artículo escrito por animeshsingh161 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA