API de la clase Locator de Playwright
Locator es el objeto localizador de Playwright, que proporciona filtrado, operación y aserción encadenados.
Métodos de operación de Locator
| Método | Descripción |
locator.click(options?) | Hacer clic en el elemento |
locator.dblclick(options?) | Doble clic en el elemento |
locator.hover(options?) | Pasar el mouse por encima |
locator.fill(value, options?) | Limpiar y rellenar texto |
locator.type(text, options?) | Escribir carácter por carácter |
locator.clear(options?) | Limpiar campo de entrada |
locator.check(options?) | Marcar casilla de verificación |
locator.uncheck(options?) | Desmarcar |
locator.setChecked(checked, options?) | Establecer estado de la casilla de verificación |
locator.selectOption(values, options?) | Seleccionar opción del menú desplegable |
locator.setInputFiles(files, options?) | Configurar carga de archivo |
locator.dragTo(target, options?) | Arrastrar al elemento de destino |
locator.press(key, options?) | Pulsar tecla |
locator.screenshot(options?) | Captura de pantalla del elemento |
locator.scrollIntoViewIfNeeded(options?) | Desplazarse hasta que sea visible |
Filtrado encadenado de Locator
| Método | Descripción |
locator.first() | Tomar el primer elemento coincidente |
locator.last() | Tomar el último elemento coincidente |
locator.nth(index) | Tomar el enésimo (desde 0) |
locator.filter(options?) | Filtrar por condición (hasText, has, hasNot) |
locator.locator(selector) | Continuar la búsqueda en los resultados coincidentes |
locator.getByRole(role, options?) | Buscar por rol en los resultados coincidentes |
locator.getByText(text) | Buscar por texto en los resultados coincidentes |
locator.getByLabel(text) | Buscar por etiqueta en los resultados coincidentes |
locator.and(locator) | Y lógico (1.63+) |
locator.or(locator) | O lógico (1.63+) |
Obtención de información de Locator
| Método | Descripción |
locator.textContent(options?) | Obtener contenido de texto |
locator.innerHTML(options?) | Obtener innerHTML |
locator.innerText(options?) | Obtener texto visible |
locator.inputValue(options?) | Obtener valor de input |
locator.getAttribute(name) | Obtener valor de atributo |
locator.count() | Obtener número de coincidencias |
locator.isVisible(options?) | Si es visible |
locator.isHidden(options?) | Si está oculto |
locator.isEnabled(options?) | Si está habilitado |
locator.isDisabled(options?) | Si está deshabilitado |
locator.isEditable(options?) | Si es editable |
locator.isChecked(options?) | Si está marcado |
locator.boundingBox(options?) | Obtener posición y tamaño del elemento |
Ejecución de JS en Locator
| Método | Descripción |
locator.evaluate(fn, arg?, options?) | Ejecutar JS en el contexto del elemento |
locator.evaluateAll(fn, arg?) | Ejecutar JS en todos los elementos coincidentes |
locator.evaluateHandle(fn, arg?, options?) | Ejecutar JS y devolver JSHandle |
LocatorAssertions (reintento automático)
| Método de aserción | Descripción |
expect(locator).toBeAttached() | El elemento está en el DOM |
expect(locator).toBeChecked() | Marcado |
expect(locator).toBeDisabled() | Deshabilitado |
expect(locator).toBeEditable() | Editable |
expect(locator).toBeEmpty() | El contenido está vacío |
expect(locator).toBeEnabled() | Habilitado |
expect(locator).toBeFocused() | Tiene el foco |
expect(locator).toBeHidden() | El elemento no es visible |
expect(locator).toBeInViewport() | El elemento está dentro del viewport |
expect(locator).toBeVisible() | El elemento es visible |
expect(locator).toContainText(text) | Contiene texto |
expect(locator).toHaveAccessibleDescription(desc) | Tiene descripción accesible |
expect(locator).toHaveAccessibleName(name) | Tiene nombre accesible |
expect(locator).toHaveAttribute(name, value?) | Tiene atributo DOM |
expect(locator).toHaveClass(className) | Tiene clase CSS |
expect(locator).toHaveCount(count) | Tiene un número específico |
expect(locator).toHaveCSS(name, value) | Tiene valor de propiedad CSS |
expect(locator).toHaveId(id) | Tiene ID |
expect(locator).toHaveText(text) | El contenido de texto coincide |
expect(locator).toHaveValue(value) | El valor de entrada coincide |
expect(locator).toHaveValues(values) | Coincidencia de múltiples valores (selección múltiple) |
expect(locator).toHaveScreenshot(options?) | Comparación de capturas de pantalla de elementos |
Clase FrameLocator
| Método | Descripción |
frameLocator.getByRole(role, options?) | Localizar por rol |
frameLocator.getByText(text) | Localizar por texto |
frameLocator.getByLabel(text) | Localizar por etiqueta |
frameLocator.getByPlaceholder(text) | Localizar por marcador de posición |
frameLocator.getByTestId(id) | Localizar por testId |
frameLocator.locator(selector) | Localización CSS/XPath |
frameLocator.frameLocator(selector) | Localización de iframe anidado |
frameLocator.first() | Tomar el primero |
frameLocator.last() | Tomar el último |
frameLocator.nth(index) | Tomar el enésimo |
Otras extensiones