Я не могу найти место в doc , где Promise.race()
принимает аргумент {timeout: ...}
.
Если вы хотите установить тайм-аут, я сделал бы это вpage.waitForSelector
в Puppeteer.
await page.goto('/11774681/kuklovod-ozhidaet-zagruzki-pervogo-elementa', { waitUntil: 'networkidle2', timeout: 30000 })
.then(async () => {
let elementHandle = await Promise.race([
page.waitForSelector('.post-text', {timeout: 60000}),
page.waitForSelector('.should-fail', {timeout: 60000}),
page.waitForSelector('.should-fail-2', {timeout: 60000}),
]);
console.log(elementHandle != null);
})
.catch(e => {
console.log(e);
});
И еще, но это был бы мой личный способ написать это, я бы все ждал, а не смешивался, жду / потом, вот так:
await page.goto('/11774681/kuklovod-ozhidaet-zagruzki-pervogo-elementa', { waitUntil: 'networkidle2', timeout: 30000 })
.catch(e => console.error(e));
let elementHandle = await Promise.race([
page.waitForSelector('.post-text', {timeout: 60000}),
page.waitForSelector('.should-fail', {timeout: 60000}),
page.waitForSelector('.should-fail-2', {timeout: 60000})
]);
console.log(elementHandle != null);