У меня есть страница, загруженная с помощью кукловода, и у меня есть список элементов, отображаемых на этой странице. Каждый из элементов можно щелкнуть, и при щелчке он растянет элемент и добавит дополнительный элемент с дополнительными данными. Вроде как на аккордеоне. Как я могу заставить это работать? Я пробовал несколько вещей вроде:
async function getSite(url) {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url, { waitUntil: "networkidle0" });
const parentElements = await page.$$(".feeditem");
await Promise.all(parentElements.map(parentElement => parentElement.click()));
await page.waitForFunction(
parentNumber =>
document.querySelectorAll(".accordion_opened").length === parentNumber,
{ timeout: 20000 },
parentElements.length
);
await page.waitFor(5000);
const elementsExtcArr = await page.evaluate(() => {
let elements = Array.from(document.querySelectorAll(".accordion_opened"));
const elementsExtc = elements.map(i => i.innerHTML);
return elementsExtc;
});
console.log(elementsExtcArr);
await browser.close();
}
getSite(url);
но ни один из них не работает. Я все еще получаю страницу такой, какой она была до событий кликов. Любая идея?