如何使用puppeteer获取html元素的所有子元素值

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

我正在使用puppeteer。我想获取表的列名的值。

<tbody>
<tr class="GridHeader" align="center" style="background-color:Black;">
    <td class="HeaderStyleOfdatalist">XYZ</td>
    <td>0500</td>
    <td>0550</td>
    <td>0600</td>
    <td>0650</td>
</tr>
</tbody>

我需要获取的是这些 td 值的数组。 我尝试了 page.$(selector) 但无法理解输出。 我也尝试过:

let idAttribute = await page.$eval('.GridHeader', e => e.childNodes);
console.log(idAttribute)

但是我无法获取这些 td 值的数组。

你能帮我循环这些值吗?

javascript typescript puppeteer
1个回答
22
投票

我能够使用以下方法获得解决方案:

const data = await page.evaluate(() => {
        const tds = Array.from(document.querySelectorAll('.GridHeader td'))
        return tds.map(td => td.textContent)
    });

console.log(data) // ['xyz', '0500', '0550','0600', '0650']
© www.soinside.com 2019 - 2024. All rights reserved.