javascript - Node.js puppeteer - 在循环中使用数组中的值来循环浏览页面

标签 javascript arrays node.js puppeteer

我正在使用 node.js 和 puppeteer 来获取一些数据。 ...现在我想根据数组中的不规则值访问不同的页面:

我的数组如下所示:

rows = [ RowDataPacket {
            id: 1,
            value: 'L3',
            name: 'Steve' },
        RowDataPacket {
            id: 2,
            value: 'GU',
            name: 'Peter' },        
        RowDataPacket {
            id: 3,
            value: 'M5',
            name: 'John' }]

所以我想访问的页面是:

await page.goto('url/search?action=getname&name=L3', {waitUntil: 'load'});  
await page.goto('url/search?action=getname&name=GU', {waitUntil: 'load'});  
await page.goto('url/search?action=getname&name=M5', {waitUntil: 'load'});

数组实际上有 200 个值长......所以我想到做一个像这样的循环:

await page.goto('url', {waitUntil: 'load'});

rows = [ RowDataPacket {
            id: 1,
            value: 'L3',
            name: 'Steve' },
        RowDataPacket {
            id: 2,
            value: 'GU',
            name: 'Peter' },        
        RowDataPacket {
            id: 3,
            value: 'M5',
            name: 'John' }]

console.log(rows.length); // 3

for (let i=1; i < rows.length; i++){

    await page.goto('url/search?action=getname&name='+value, {waitUntil: 'load'});  

}

但是如何从数组中访问值(“value”)并在循环中相应地使用它?

最佳答案

我会将 browser.newPage(); 放入循环内,如下所示:

const page = []

    for (let i=1; i < rows.length; i++){

        page[i] = await browser.newPage();
        await  page[i].goto('url/search?action='+rows[i].name+'&name='+rows[i].value, {waitUntil: 'load'});

    }

然后,以相同或其他方式:

const newPage = await page[i].evaluate(() => {

关于javascript - Node.js puppeteer - 在循环中使用数组中的值来循环浏览页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52083195/

相关文章:

javascript - 使用 jQuery 拉取 JSON 对象以避免 XSS

JavaScript 内置方法如何跳过第一次迭代?

Java - 计算存储在数组中的成绩平均值+打印低于平均值的成绩

javascript - Immutable.js:导出到数组时如何保持不变性?

Node.js 和 MongoDB,重用 DB 对象

javascript - 为什么 npm init 实际上会初始化一个 grunt 项目?

javascript - 网络音乐播放器-如何制作滚动条

javascript - jqGrid searchOperator 清除工具栏后显示错误的运算符

javascript - $(this).children() 不工作

javascript - 在 Node.js (Express) Facebook Canvas 应用程序中获取 signed_request