Referencia de la API de la clase Page de Playwright
Page es la clase más utilizada en Playwright y proporciona todos los métodos para la interacción con la página.
Métodos de navegación
| Método | Descripción |
page.goto(url, options?) | Navegar a una URL |
page.goBack(options?) | Retroceder |
page.goForward(options?) | Avanzar |
page.reload(options?) | Recargar la página |
Métodos de localizador
| Método | Descripción |
page.getByRole(role, options?) | Localizar por rol ARIA |
page.getByText(text, options?) | Localizar por contenido de texto |
page.getByLabel(text, options?) | Localizar por etiqueta asociada |
page.getByPlaceholder(text) | Localizar por placeholder |
page.getByAltText(text) | Localizar por atributo alt de imagen |
page.getByTitle(text) | Localizar por atributo title |
page.getByTestId(id) | Localizar por data-testid |
page.locator(selector) | Localización CSS / XPath |
page.frameLocator(selector) | Localización en iframe |
Obtención de propiedades de la página
| Método | Descripción |
page.title() | Obtener el título de la página |
page.url() | Obtener la URL actual |
page.content() | Obtener el contenido HTML completo |
page.viewportSize() | Obtener el tamaño del viewport |
Capturas de pantalla y PDF
| Método | Descripción |
page.screenshot(options?) | Captura de pantalla de la página |
page.pdf(options?) | Generar PDF (solo Chromium) |
page.video() | Obtener el objeto de video |
Teclado y ratón
| Propiedad | Descripción |
page.keyboard | Objeto Keyboard |
page.mouse | Objeto Mouse |
page.touchscreen | Objeto Touchscreen |
Ejecución de JS
| Método | Descripción |
page.evaluate(fn, arg?) | Ejecutar JS en el contexto de la página |
page.evaluateHandle(fn, arg?) | Ejecutar JS y devolver JSHandle |
page.addInitScript(script) | Inyectar script de inicialización |
page.addStyleTag(options?) | Añadir etiqueta de estilo |
page.addScriptTag(options?) | Añadir etiqueta de script |
page.exposeFunction(name, fn) | Exponer una función a la página |
Métodos de espera
| Método | Descripción |
page.waitForURL(url, options?) | Esperar un cambio de URL |
page.waitForLoadState(state?) | Esperar el estado de carga |
page.waitForTimeout(ms) | Espera fija |
page.waitForEvent(event, options?) | Esperar un evento |
page.waitForResponse(urlOrPredicate, options?) | Esperar una respuesta de red |
page.waitForRequest(urlOrPredicate, options?) | Esperar una solicitud de red |
Red y enrutamiento
| Método | Descripción |
page.route(url, handler) | Interceptar solicitudes de red |
page.unroute(url, handler?) | Cancelar la interceptación |
page.routeFromHAR(har, options?) | Reproducir red desde archivo HAR |
Eventos
| Evento | Descripción |
page.on('request', handler) | Escuchar solicitudes |
page.on('response', handler) | Escuchar respuestas |
page.on('dialog', handler) | Escuchar ventanas emergentes |
page.on('download', handler) | Escuchar descargas |
page.on('popup', handler) | Escuchar páginas emergentes |
page.on('console', handler) | Escuchar la consola |
page.on('pageerror', handler) | Escuchar errores de página |
page.on('close', handler) | Escuchar el cierre de la página |
Relacionado con Frame
| Método | Descripción |
page.mainFrame() | Obtener el frame principal |
page.frames() | Obtener todos los frames |
Otros
| Método | Descripción |
page.context() | Obtener el BrowserContext al que pertenece |
page.close() | Cerrar la página |
page.pause() | Pausar la ejecución (para depuración) |
page.setViewportSize(size) | Establecer el tamaño del viewport |
page.bringToFront() | Traer la página al frente |
page.emulateMedia(options?) | Simular características de medios |
page.clock | Objeto Clock (simulación de tiempo) |
PageAssertions (aserciones con reintento automático)
| Métodos de aserción | Descripción |
expect(page).toHaveTitle(title) | Aserción del título de la página |
expect(page).toHaveURL(url) | Aserción de la URL de la página |
expect(page).toHaveScreenshot(options?) | Comparación de capturas de pantalla de la página |
Otras extensiones