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 tomar el div con la clase filter-component-1 y almacenarlo en una variable para luego
1 haga clic en ese div 2 haga clic en el botón en ese div
Siento que necesito hacer algo como
A NOTE: I have altered how we structure these tests so that they run in aws lambda. The normal sytax of test('test description') etc does not work here. Hence the awaits. Please just focus on the playwright syntax line by line.
let dropdowndiv = await this.page.waitForSelector(".filter-component-1");¿pero entonces, qué?
lo siento, soy muy nuevo en dramaturgia y los documentos son bastante inútiles =( https://playwright.dev/java/docs/selectors#selecting-elements-that-contain-other-elements
No tiene que seleccionar nada, solo haga lo que planeó:
Haga clic en el menú desplegable: await page.click(".filter-component-1")
Luego haga clic en el botón await page.click("button")
(Tenga en cuenta que este botón debe ser único en esa página, si no lo es, puede agregar otro selector para que sea más específico)
Si realmente desea almacenar ese div, entonces:
let dropdowndiv = await this.page.locator(".filter-component-1");
await dropdowndiv.click()
Puede usar este localizador para seleccionar el botón dentro de él:
await dropdowndiv.locator("button").click()