web-dev-qa-db-ja.com

puppeteerを使用してhtml要素のすべての子要素の値を取得する方法

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値の配列を取得することはできません。

これらの値をループするのを手伝ってくれませんか。

[〜#〜]編集[〜#〜]:問題の回答を見つけて、回答セクションに投稿しました。

6
Aman Gupta

私は以下を使用して解決策を得ることができました:

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']
15
Aman Gupta