Сори за дурацкий вопрос, но совсем не знаком со всей этой асинхронностью.
Как мне использовать интервал внутри такого вот кода (код ниже под спойлером)? Это
Puppeteer который запускает headless-браузер, и авторизируется на сайте откуда мне нужно дергать данные раз в 500мс как-то так:
Эти данные мне нужно писать куда-то в локальный файл. В общем-то вот код, но почему-то именно часть с интервалом ничего не делает и не выводит в консоль, хотя я ожидал, что она будет каждые 500мс дергать данные из этого селектора и выводить. При этом ошибок тоже никаких.
Код(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://url.com');
// Auth
await page.click(selector.login.tab);
await page.click(selector.login.email);
await page.keyboard.type(settings.username);
await page.click(selector.login.password);
await page.keyboard.type(settings.password);
await page.click(selector.login.button);
// Waiting for loading
await page.waitFor(10000); // TO FIX: there we should wait for loaded element or selector
await page.evaluate(() => {
setInterval(() => {
return console.log(document.querySelector('div._captions > p._value').innerText + document.querySelector('div._captions p._hl-value').innerText);
}, 500);
});
//await page.screenshot({path: 'screenshot.jpg'});
await browser.close();
})();