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étodoDescripció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étodoDescripció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étodoDescripció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étodoDescripció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ónDescripció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étodoDescripció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