使用puppeteer在新标签页中打开报废页面

问题描述 投票:0回答:1

我现在有一个项目列表,点击每个项目打开新标签,我需要解析并返回到原始页面,然后单击下一个项目。所以这需要针对所有项目重复进行。代码如下:

for(let k =0 ;k<item_arr.length;k++) {

    let item_id = item_arr[k];
    console.log("=====inside for loop======");
    console.log("=====ITEM ID:::::======"+item_id);

    try
    {
        console.log("=====before click======");

        let item_d = await page.$('div[id="'+item_id+'"]');
        await item_d.click();
        console.log("=====after click======");

    }
    catch (e)
    {
        console.log("Error >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> :"+e);
    }

    pages = await browser.pages();
    count = pages.length;
    console.log("==========count number of pages"+count);

}

我收到的错误如下所述:

(node:12280) UnhandledPromiseRejectionWarning: ReferenceError: pages is not defined

那么如何处理刮刮?

javascript node.js web-scraping puppeteer
1个回答
0
投票

我认为页面是一个对象,而不是一个数组,所以需要解决,因为,

Object.keys(pages).length

我加载这样的页面/标签,这可能没用。

const pages = await browser.pages();
await pages[0].setViewport({ width: 1280, height: 1080 })
await pages[0].goto(URL);
© www.soinside.com 2019 - 2024. All rights reserved.