簡體   English   中英

使用 puppeteer 訪問從 web 抓取返回的數組的特定索引

[英]Access specific index of array returned from web scrape using puppeteer

這是我的腳本 - 它使用 puppeteer 抓取亞馬遜以檢查產品可用性

const puppeteer = require('puppeteer');


//URL
scrape('https://www.amazon.co.uk/PlayStation-9395003-5-Console/dp/B08H95Y452/ref=sr_1_1?dchild=1&keywords=ps5&qid=1613570801&sr=8-1');

/**
 *
 * Scrape PS5
 *
 */
async function scrape(url)
{

    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto(url);

        //get availability
        const [el2] = await page.$x('//*[@id="availability"]/span');
        const txt1 = el2.getProperty('textContent');
        const rawTxt1 = (await txt1)._remoteObject.value;

        //log data
        console.log({rawTxt1});

        //close browser
        browser.close();

}

我登錄后它會將其返回到控制台

在此處輸入圖像描述

我希望它只返回“當前不可用”

嘗試這個

async function scrape(url)
{

    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto(url);
    await page.waitForSelector("div#availability")
    const  result = await page.evaluate(()=>{
        return Array.from(document.querySelectorAll("div#availability span.a-size-medium")).map((el)=> el.innerText)
    });
    //log data
    console.log(result)

        //close browser
        browser.close();

}

Output:

["Currently unavailable."]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM