IT関連雑記帳

IT関連の話をつらつらと

Puppeteerでカスタムデータ属性の値を設定する方法

前回は値を取得する方法を書きましたが、値を設定する場合のコードも自分用にメモしておきます。

CSVファイルから読み込んできたデータを変数に格納しておき、その変数を利用して値を設定するつもりでした。ところがスコープが外れてしまうようで、変数名が定義されていないというエラーが発生してしまいました。

Google先生に泣きついて同じような質問を探してもらったところ、まさに知りたいことを見つけたくれたので解決。

HTML(抜粋)
<tr>
    <td>hogehoge</td>
    <td>
        <input id="xxxx" type="text" value="99999999" maxlength="10">
    </td>
    <td>
        <a href="https://example.com" data-test-id="12345678" class="foo">リンク</a>
    </td>
</tr>
Puppeteer
await tdList[2].$eval('a', (e, no) => e.setAttribute('data-test-id', no), newData);

例によってevalの意味をちゃんと理解できていませんが、今回もちゃんと動いたのでヨシ!(絶対よくない

【参考にしたサイト】

github.com