木偶:单击按钮后无法选择元素

时间:2018-12-30 08:41:19

标签: node.js web-scraping puppeteer

我正在从 RockAuto 抓取数据,但是单击href element.querySelector('div.nchildren')后出现问题。

它选择单击后收到的元素,但下一行:let temp_dt = document.querySelectorAll('div.nchildren div.ranavnode'); 不会选择其中的所有元素。

我的代码:

// get hotel details
let data = await page.evaluate(() => {
    let hotels = [];
    // get the hotel elements
    let dataAll = document.querySelectorAll('div.ranavnode');
    // get the hotel data
    dataAll.forEach((element) => {
        let hotelJson = {};
        try {
            let cat_name = element.querySelector('a.navlabellink').innerText;
            let click_link = element.querySelector('a.navlabellink');

            if (cat_name === "ACURA") {
                hotelJson.cat_name = cat_name;
                click_link.click();
                hotels.push(hotelJson);
                if (element.querySelector('div.nchildren')) {
                    try {
                        let temp_dt = document.querySelectorAll('div.nchildren div.ranavnode'); // this line can not work correctly
                        hotelJson.count = temp_dt.length;
                    } catch (e) {

                    }

                }

            }
        }
        catch (exception) {

        }
        // hotels.push(hotelJson);
    });
    return hotels;
});


console.dir(data);

0 个答案:

没有答案