gpt4 book ai didi

javascript - 异步 puppeteer 浏览器在几次迭代后断开连接

转载 作者:太空宇宙 更新时间:2023-11-04 03:00:02 25 4
gpt4 key购买 nike

我在一个小案例中使用 puppeteer 测试了迭代。我已经读过 puppeteer 断开连接的常见原因是 Node script doesnt wait for the puppeteer actions to be ended 。因此,我将代码片段中的所有函数转换为异步函数,但没有帮助。

如果六次迭代的小案例可行,我将在当前项目中实现大约 50 次迭代。

'use strict';

const puppeteer = require('puppeteer');

const arrIDs = [8322072, 1016816, 9312604, 1727088, 9312599, 8477729];

const call = async () => {
await puppeteer.launch().then(async (browser) => {
arrIDs.forEach(async (id, index, arr) => {
await browser.newPage().then(async (page) => {
await page.goto(`http://somelink.com/${id}`).then(async () => {
await page.$eval('div.info > table > tbody', async (heading) => {
return heading.innerText;
}).then(async (result) => {
await browser.close();
console.log(result);
});
});
});
});
});
};

call();

最佳答案

forEach 同步执行。将 forEach 替换为简单的 for 循环。

const arrIDs = [8322072, 1016816, 9312604, 1727088, 9312599, 8477729];
const page = await browser.newPage();

for (let id of arrIDs){
await page.goto(`http://somelink.com/${id}`);
let result = await page.$eval('div.info > table > tbody', heading => heading.innerText).catch(e => void e);
console.log(result);
}

await browser.close()

关于javascript - 异步 puppeteer 浏览器在几次迭代后断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60176635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com