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

时间:2017-09-09 07:41:40

标签: javascript typescript puppeteer

我正在使用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值的数组。 我试过页面。$(选择器)但无法理解输出。 我也尝试过:

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

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

请你帮我循环一下这些价值观。

编辑:找到问题的答案并将其发布在答案部分。

1 个答案:

答案 0 :(得分:14)

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

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']