PuppeteerでChromeをログインしたままにする

Puppeteer で ID/パスワードを自動入力すれば自動ログインできますが、起動するたびにログインさせるとサーバーに負荷がかかります。ブラウザで一度ログインしたらログインしっぱなしにする方法をご紹介します。

目次

userDataDir を指定する

puppeteer.launch()のオプションとして userDataDir を指定します。データの保存先なので、適当な空のディレクトリを指定します。

const puppeteer = require("puppeteer");
const PUPPETEER_OPTIONS = {
  headless: true,
  userDataDir: process.env.USER_DATA_DIR,
};
const browser = await puppeteer.launch(PUPPETEER_OPTIONS);

Puppeteer から立ち上げた Chrome でログインする

Puppeteer の Chrome を起動してから、一度手動でログインします。ログインした際のユーザー情報は、userDataDir で指定したディレクトリの中に保存されます。userDataDir を変更したり削除したりしない限り、ログインした状態が維持されます。



Amazon欲しいものリスト

私が作業中に飲んでいるコーヒーや欲しいマンガなどを集めました。開発・執筆の励みになりますのでクリックして頂ければ幸いです。

<Amazon欲しいものリスト>