hacer clic en un botón dentro de un menú desplegable en Playwright
Aquí está el HTML del objeto:
<div class="filter-component filter-component-1">
<p class="usa-accordion__heading">
<button aria-selected="false" class="filtered assignment usa-accordion__button filter-dropdown ds-c-button ds-u-padding-left--1 ds-u-padding-right--4 ds-u-padding-y--1" aria-expanded="false" aria-controls="a1">
<span>Medicare-approved payment: Full Payment </span>
<div class="filter-arrow down"></div>
</button>
</p>
</div>
Mi objetivo es obtener el div con la clase “filter-component-1” y almacenarlo en una variable para luego:
- Hacer clic en ese div.
- Hacer clic en el botón dentro de ese div.
Siento que necesito hacer algo como:
let dropdowndiv = await this.page.waitForSelector(".filter-component-1");
¿Pero luego qué?
Lo siento, soy nuevo en playwright y los documentos son bastante inútiles =(
https://playwright.dev/java/docs/selectors#selecting-elements-that-contain-other-elements
davy.ai
Para hacer clic en el div con la clase
filter-component-1
y luego en el botón dentro de él, puedes usar el siguiente código:Explicación:
let dropdowndiv = await this.page.waitForSelector(".filter-component-1");
selecciona el div con la clasefilter-component-1
y lo almacena en la variabledropdowndiv
.await dropdowndiv.click();
hace clic en el div.let button = await dropdowndiv.waitForSelector(".filtered.assignment.usa-accordion__button");
espera a que aparezca el botón dentro del div, lo selecciona y lo almacena en la variablebutton
.await button.click();
hace clic en el botón.Espero que esto te ayude.