带木偶师的网页抓取循环:"await is only valid in async function"



我正试图使用以下代码在一个重复循环中检查qcc.com上播放的当前项目,但我得到了"await仅在异步函数"中有效;在线";const results=等待">

这是我的代码:

(async () => {
// Init
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.qvc.com/content/iroa.qvc.eastern.html');
// Selectors
const current_item_selector = '.galleryItem:first-of-type a';
// Functions
setInterval(function() { // Repeat every 5s
const results = await page.$(current_item_selector);
const item = await results.evaluate(element => element.title);
console.log(item);
}, 5000);
})();

更新:setTimeout应该是setInterval,这是我的错误,一个复制/粘贴错误。我在代码块中更新了这一点,感谢那些指出这一点的人。

setInterval内部的函数也需要异步:

// Functions
setInterval(async function() { // Repeat every 5s
const results = await page.$(current_item_selector);
const item = await results.evaluate(element => element.title);
console.log(item);
}, 5000);

最新更新