一次扫描多个页面



我有一个木偶师问题。我有一个数组与链接

let links = ["...", "...", "..."];

大约有30个链接。我想用Promise.all()一次刮光它们

let descriptions = await Promise.all(
links.map((url) => getDescription(page, url))
);

每个页面都有一个描述,但由于某种原因,我的descriptions数组中填充了30个相同的描述。

为什么?我需要一个一个刮还是?

描述功能:

export async function getDescription(page, url) {
await page.goto(url);
let selector = ".C4VMK > span";
return page.$eval(selector, (handle) => handle.textContent);
}

我是这样管理的:

我创建了一个新的选项卡,并从打开该URL

export async function getDescription(browser, url) {
let page = await browser.newPage();
await page.goto(url);
let selector = ".C4VMK > span";
let result = await page.$eval(selector, (handle) => handle.textContent);
page.close();
return result;
}

最新更新