Как кликнуть по элементу который вставляется в html по событию? (puppeteer)
Сайт easypay. сделан на ангуляре. я с помощью puppeteer логинюсь в лк, далее жму историю платежей > расширенный поиск > в поле "Інструмент платежу" и пытаюсь выбрать "грн", НО изначально в html этого нет. Cписок с вариантами выбора вставляется в код по клику, но puppeteer видимо ищет в начальном коде который он считывает сразу после загрузки. Искать по айди нет смысла, так как айди элемента каждый раз меняется Как заставить его кликнуть по элементу списка?
const pup = require('puppeteer');
const fs = require('fs');
const cheerio = require('cheerio');
const user = {
name: '+38 0000000',
pass: '111111111111'
};
const parse = async () => {
let selector = 'body > app-root > app-layout > app-main-layout > app-profile-component > app-history > main > section > app-history-search-form > form > div.profile-history__filter-tool.form-row.small-16.medium-8.large-4.column.ng-star-inserted > ng-select > #a0a6ae62c148 > div > div:nth-child(2) > div:nth-child(3)'
try {
let browser = await pup.launch({headless: false});
let page = await browser.newPage();
await page.setViewport({
width: 900,
height: 1000
})
await page.goto('https://easypay.ua/ua/', { waitUntil: 'networkidle0' });
await page.click(`button[class*="header__sign-in"]`);
await page.focus(`input[id*="sign-in-phone"]`)
await page.keyboard.type(`${user.name}`)
await page.focus(`input[name*="password"]`)
await page.keyboard.type(`${user.pass}`)
await page.click(`#sign-in > div.sign-in_content > form > button`, {delay: 1000})
await page.waitForTimeout(1000)
await page.goto('https://easypay.ua/ua/profile/history', { waitUntil: 'networkidle0' });
await page.click(`body > app-root > app-layout > app-main-layout > app-profile-component > app-history > main > section > app-history-search-form > form > div.profile-history__filter-more.small-16.column > span`, {delay: 1000})
await page.click(`body > app-root > app-layout > app-main-layout > app-profile-component > app-history > main > section > app-history-search-form > form > div.profile-history__filter-tool.form-row.small-16.medium-8.large-4.column.ng-star-inserted > ng-select > div`, {delay: 2000})
await page.waitForSelector(selector)
await page.click(selector, {delay: 2000}) // Клик по гривне
// await page.click(`.is-dropdown-submenu-parent > ul > li:nth-child(2)`, {delay: 1000})
// await browser.close()
} catch (e) {
console.error(e)
}
}
parse();