Кукловод продолжает нажимать кнопку «загрузить больше» - PullRequest
0 голосов
/ 16 января 2020

Нужна помощь в том, как я могу сделать l oop при нажатии кнопки «Загрузить еще», чтобы загрузить все результаты со страницы поиска.

веб-сайт carousell.ph

результат поиска : https://www.carousell.ph/search/k20%20pro?

const puppeteer = require('puppeteer');

async function timeout(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

(async () => {

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

    let searchItem = 'k20&20pro';
    let carousellURL = 'https://www.carousell.ph/search/' + searchItem;
    await page.goto(carousellURL, {waitUntil: 'load', timeout: 100000});
    await page.setViewport({ 
        width: 2195, 
        height: 1093 
    });
    await page.evaluate(() => {
        window.scrollBy(0, window.innerHeight);
    })
    await timeout(15000);
    await page.screenshot({ 
        fullPage: true, 
        path: 'carousell.png' 
    });

    if (await page.$('main > div > button') !== null){
        await timeout(1000);
        await page.click('main > div > button');
        await timeout(2000);
    }

    await page.screenshot({ 
        fullPage: true, 
        path: 'carousell2.png' 
    });

    await browser.close()

})()

в моем коде он нажал только один раз, но мне нужно, чтобы он нажимал до тех пор, пока кнопка больше не будет доступна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...