Skip to content

Repository files navigation

就活フォーム自動入力(Chrome拡張 / MV3)

保存したプロフィールをもとに、各社のエントリーフォームの項目を形式(入力欄・プルダウン・ラジオ・3分割の生年月日など)に合わせて自動入力する拡張機能。氏名/フリガナ/生年月日/住所/学歴/連絡先に対応。

  • ローカル完結:プロフィールは chrome.storage.local(この端末のブラウザ内)だけに保存。外部送信なし。
  • 手動トリガー:右下のフローティング「自動入力」ボタンを押した時だけ走る(誤爆防止)。入力後は必ず内容を確認すること。
  • フレームワーク対応:native セッター + input/change イベント発火で React/Vue のフォームにも反映。

使い方

  1. Chrome で chrome://extensions を開く → 右上「デベロッパーモード」をON。
  2. 「パッケージ化されていない拡張機能を読み込む」→ このフォルダ(このフォルダ)を選択。
  3. ツールバーの拡張アイコンをクリック → プロフィールを入力して「保存」。
  4. 各社のエントリーフォームを開く → 右下の「自動入力」ボタンを押す → 埋まった項目数がトーストで出る。

対応項目

姓名(漢字)/ フリガナ(全角・半角・ひらがなはフィールドのヒントで自動変換)/ 生年月日(3分割select・date型・テキスト)/ 性別(select・radio)/ 郵便番号 / 都道府県(select)/ 市区町村 / 町名番地 / 建物 / 電話 / メール / 大学名 / 学部(select可)/ 学科 / 卒業予定年・月。

仕組み

  • src/matcher.js … ラベル・name・id・placeholder・近傍テキストを集約し、正規表現でプロフィール項目を推定(純粋関数 classifyField)。
  • src/filler.js … テキスト / select(数値・文字一致)/ radio・checkbox への入力プリミティブ。
  • src/content.js … フォーム走査 → 分類 → 入力。生年月日はoptionの数値レンジで年/月/日を判定。既入力欄は上書きしない。
  • popup/ … プロフィール編集UI。

開発・テスト

npm install     # jsdom(テスト専用)
npm test        # matcher 単体 + sample-form.html での e2e

対応済み(実フォーム検証で判明した罠)

  • 電話番号・郵便番号の分割ボックス(maxlength か定番パターンで分割。例 090/1234/5678、171/0031)。
  • 「地名」「会社名」など複合語の「名」を名(first name)と誤検出しない
  • 「学校名の頭文字(全角カナ1字)」のような特殊欄はスキップ(大学名を入れない)。
  • 卒業年月の年/月セレクトを個別に振り分け(両方が月になる不具合を解消)。
  • 番地欄に住所まるごとを入れない(番地のみ)。
  • メールアドレス確認用は同じ値を複製。

v0.3 追加(実フォーム2巡目の修正+プルダウン総取り)

  • 行ラベル「氏名」に姓/名の判定が潰される不具合を解消(名欄にフルネームを入れない)。
  • 「コース名」「会社名」など複合語の「名」を除外。
  • 電話番号を桁数ベースで 3-4-4 等に分割(過大な maxlength に引きずられない)。
  • 海外在住者専用の欄(郵便番号など)はスキップ。
  • プルダウン総取り: 学校区分 / 設置区分 / 現在の学年 / 文理区分 / 系統 / 卒業見込み区分 / 就職希望年月 / 学歴区分 を選択。ラジオ(学校区分・設置区分・性別)も選択。
  • 「現在の連絡先と同じ/現住所と同じ」チェックを自動ON(休暇中・帰省先の二重入力を回避)。
  • ※これらは拡張アイコンのプロフィールに値を保存しておくと埋まる(学年・系統・就職希望年月など)。

既知の制約 / 今後

  • **学校検索ボタン式(学校コードのマスタ)**のサイトは、テキスト欄に大学名を入れても確定にはサイト側の検索操作が必要な場合あり → 手動で「学校検索」を押す。
  • 「学校名の頭文字」欄は現状スキップ → 全角カナ1文字(例 法政=ハ)を手動入力。
  • 自宅電話・携帯電話が両方ある場合、両方に携帯番号が分割入力される → 不要な方は手動でクリア。
  • 「休暇中の連絡先/帰省先住所」も現住所と同じ値で埋まる → 別なら手動修正、同じなら「現在の連絡先と同じ」チェックを使う。
  • 和暦(令和/平成)の生年月日selectは未対応。
  • 判定はヒューリスティックのため特殊なフォームは取りこぼす。曖昧フィールドのAI補完(Gemini無料Tier等)は将来候補(PII外部送信のため要・本人合意)。

About

Chrome MV3 extension that auto-fills Japanese job-application forms (氏名/フリガナ/生年月日/住所/学歴) — local-only, no external requests

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages