Created
December 6, 2025 02:10
-
-
Save hushin/8ce2df76c7cb898169dd0b2e3fa0f422 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // ======================================== | |
| // セキュリティ・キャンプアンケート自動入力スクリプト | |
| // ======================================== | |
| // 使い方: DevToolsで実行してください | |
| // ======================================== | |
| // 設定値(ここを編集してください) | |
| // ======================================== | |
| const FORM_DATA = { | |
| // 設問1: 個人に関する設問 | |
| section1: { | |
| // 1-1. お名前 | |
| lastName: '山田', | |
| firstName: '太郎', | |
| // 1-2. お名前(ふりがな) | |
| lastNameKana: 'やまだ', | |
| firstNameKana: 'たろう', | |
| // 1-3. 生年月日 | |
| birthYear: '2000', | |
| birthMonth: '1', // "1"〜"12" | |
| birthDay: '1', // "1"〜"31" | |
| // 1-4. メールアドレス | |
| email: 'example@example.com', | |
| // 1-5. 現在の所属(複数選択可、配列で指定) | |
| // 選択肢: "student", "employee", "parttime", "other" | |
| affiliation: ['student'], | |
| affiliationOther: '', // "other"を選択した場合の入力値 | |
| // 1-6. 全国大会の参加年度(複数選択可) | |
| // 選択肢: "2004"〜"2025", "none"(参加していない) | |
| nationalCampYears: ['2023', '2024'], | |
| // 1-7. ネクストの参加年度(単一選択) | |
| // 選択肢: "2019"〜"2025", "none"(参加していない) | |
| nextCampYear: 'none', | |
| // 1-8. ジュニアの参加年度(単一選択) | |
| // 選択肢: "2023"〜"2025", "none"(参加していない) | |
| juniorCampYear: 'none', | |
| // 1-9. セキュリティ・キャンプミニへの参加年度(複数選択可) | |
| // 選択肢: "2013"〜"2025", "none"(参加していない) | |
| miniCampYears: ['none'], | |
| }, | |
| // 設問2: 学生の方に対する設問(所属が学生の場合のみ有効) | |
| section2: { | |
| // 2-1. 将来の進路希望(セレクトボックス c_q259) | |
| // 選択肢の値: "0", "1", "2", "3", "4", "5" | |
| // 0=民間企業, 1=公務, 2=教育, 3=研究者, 4=起業, 5=その他 | |
| careerHope: '0', | |
| // 2-2. IT分野での将来の希望職種(セレクトボックス c_q260) | |
| // 選択肢の値: "0", "1", "2", "3", "4", "5", "6", "7" | |
| // 0=SE・プログラマー(組込み開発を含む), 1=ネットワークエンジニア, 2=Web制作・デザイナー, | |
| // 3=情報セキュリティ専門家, 4=アナリスト, 5=ゲームクリエーター, 6=IT分野その他, 7=IT分野を希望していない | |
| itCareerHope: '3', | |
| }, | |
| // 設問3: 社会人等の方に対する設問(所属が企業・団体の場合のみ有効) | |
| section3: { | |
| // 3-1-1. 現在就業している企業・団体の業種(セレクトボックス c_q261) | |
| // 選択肢の値: "0", "1", "2", "3", "4", "5" | |
| // 0=民間企業, 1=公務, 2=教育, 3=研究者, 4=経営層, 5=その他 | |
| companyType: '0', | |
| // 3-1-2. その他の具体的内容(テキストエリア c_q279) | |
| companyTypeOther: '', | |
| // 3-1-3. 所属先が協議会の会員企業・団体である場合(チェックボックス c_q290) | |
| // 選択肢: "member", "nonmember" | |
| companyMembership: 'nonmember', | |
| // 3-1-4. 企業名・団体名(テキストエリア c_q333、任意) | |
| companyName: '', | |
| // 3-2. 情報セキュリティにかかわる業務を担当していますか(ラジオボタン c_q262) | |
| // 選択肢: "yes", "no" | |
| securityWork: 'yes', | |
| }, | |
| // 設問4: これまでの活動等に関わる設問 | |
| section4: { | |
| // 4-1. イベント参加・協力の有無 | |
| // 選択肢: "yes", "no" | |
| eventParticipation: 'yes', | |
| // 4-1-1. 該当するものにチェック(複数選択可、c_q315) | |
| // 0=全国大会・ミニキャンプの講師・チューターを務めた, 1=ミニキャンプに参加した, | |
| // 2=フォーラムに参加した(講演・補助を含む), 3=IPAが主催するセキュリティ・キャンプ以外のワークショップ・勉強会に参加した(講演・補助を含む), | |
| // 4=IPA以外が主催する勉強会等を開催または参加した, etc=その他 | |
| eventParticipationDetails: [0, 2], // 講師・チューターを務めた、フォーラムに参加した | |
| eventParticipationDetailsOther: '', // "etc"を選択した場合の入力値 | |
| // 4-1-2. イベント開催をどのような方法で知りましたか?(テキストエリア c_q316) | |
| eventInfoSource: 'メーリングリストとSNS', | |
| // 4-2-1. 参加したイベント(行×列の表形式、複数選択可) | |
| // 各イベントに対して参加・講演・受賞・運営のチェックボックスがあります | |
| // イベント15個 × 種類4種 = 60個のチェックボックス(c_q302_0〜c_q302_59) | |
| // 配列のインデックス: 0-14=参加, 15-29=講演, 30-44=受賞, 45-59=運営 | |
| // イベント順: CODE BLUE, ISUCON, MWS Cup, SECCON, SECCON Beginners, SECCON CTF for GIRLS, | |
| // SecHack365, TSG CTF, U-22, アプリ甲子園, 白浜シンポ, 情報オリンピック, 高専プロコン, パソコン甲子園, 学生ベンチャー | |
| // 例: CODE BLUEの参加=0, CODE BLUEの講演=15, CODE BLUEの受賞=30, CODE BLUEの運営=45 | |
| // ISUCONの参加=1, ISUCONの講演=16, ISUCONの受賞=31, ISUCONの運営=46 | |
| events: [ | |
| // 参加(0-14) | |
| 0, // CODE BLUE | |
| 3, // SECCON | |
| // 講演(15-29) | |
| // 受賞(30-44) | |
| 33, // SECCON | |
| // 運営(45-59) | |
| ], | |
| // 4-2-2. その他のコンテスト | |
| otherContests: '特になし', | |
| // 4-3. 情報処理安全確保支援士試験の受験経験(任意) | |
| // 選択肢: "yes", "no", null(未回答) | |
| securitySupporterExam: 'no', | |
| // 4-4. 情報処理技術者試験の受験経験(任意) | |
| // 選択肢: "yes", "no", null(未回答) | |
| itExam: 'yes', | |
| // 4-4-1. 合格している試験区分(複数選択可、c_q266) | |
| // 0=ITパスポート試験, 1=情報セキュリティマネジメント試験, 2=基本情報技術者試験, | |
| // 3=応用情報技術者試験, 4=ITストラテジスト試験, 5=システムアーキテクト試験, | |
| // 6=プロジェクトマネージャ試験, 7=ネットワークスペシャリスト試験, | |
| // 8=データベーススペシャリスト試験, 9=エンべデッドシステムスペシャリスト試験, | |
| // 10=ITサービスマネージャ試験, 11=システム監査技術者試験 | |
| itExamCategories: [2, 3], // 基本情報技術者試験、応用情報技術者試験 | |
| // 4-5. 未踏事業への応募経験(任意) | |
| // 選択肢: "yes", "no", "unknown", null(未回答) | |
| mitouApplication: 'no', | |
| // 4-6. 講師・チューターとの情報交換(セレクトボックス c_q295) | |
| // 選択肢の値: "0", "1", "2", "3" | |
| // 0=定期的もしくは時々対面による情報交換を行っている | |
| // 1=SNS等オンラインで情報交換を行っている | |
| // 2=SNSをフォローしている | |
| // 3=特に情報交換等を行っていない | |
| instructorContact: '1', | |
| // 4-7. 同期の修了生との連絡(セレクトボックス c_q303) | |
| // 選択肢の値: "0", "1", "2", "3" | |
| // 0=定期的もしくは時々対面で情報交換をしている | |
| // 1=SNSで連絡を取り合っている(会ってはいない) | |
| // 2=SNSでフォローしている | |
| // 3=特に連絡は取っていない | |
| alumniContact: '1', | |
| // 4-8. 情報セキュリティ専門家との人脈(セレクトボックス c_q297) | |
| // 選択肢の値: "0", "1", "2", "3" | |
| // 0=勉強会や大会に参加して人脈が広がった | |
| // 1=講師や参加者の紹介で人脈が広がった | |
| // 2=その他の手段で人脈が広がった | |
| // 3=特に人脈の広がりはない | |
| securityNetwork: '0', | |
| }, | |
| // 設問5: セキュリティ・キャンプとの今後の関わりについての設問 | |
| section5: { | |
| // 5-1. 今後の協力意向(ラジオボタン) | |
| // 選択肢: "0"=協力したいと思う, "1"=今は考えていない | |
| cooperationIntent: '0', | |
| // 5-2. 協力いただけること(行×列の表形式、複数選択可) | |
| // 6イベント × 5種類 = 30個のチェックボックス(c_q321_0〜c_q321_34、一部欠番) | |
| // 配列のインデックス: 0-6=講師(実際は0,1,2,3,6のみ、4,5は欠番), 7-13=チューター, 14-20=運営, 21-27=講演, 28-34=宣伝 | |
| // イベント順: 全国大会, ネクスト, ジュニア, コネクト, キャンプミニ, フォーラム | |
| // 例: 全国大会の講師=0, 全国大会のチューター=7, 全国大会の運営=14, 全国大会の講演=21, 全国大会の宣伝=28 | |
| cooperation: [ | |
| 7, // 全国大会のチューター | |
| 11, // キャンプミニのチューター | |
| 20, // フォーラムの運営 | |
| ], | |
| // 5-3. キャンプミニの開催エリア(ラジオボタン c_q351) | |
| // 選択肢の値: "0"〜"10" | |
| // 0=北海道, 1=東北, 2=関東, 3=甲信越, 4=北陸, 5=中部, 6=近畿, 7=中国, 8=四国, 9=九州・沖縄, 10=該当なし | |
| miniCampArea: '2', | |
| // 5-4. 最も得意とする分野(セレクトボックス c_q274) | |
| // 選択肢の値: "0", "1", "2", "3", "4", "5" | |
| // 0=Web, 1=組込み系, 2=ネットワーク系, 3=解析(ソフトウェア系), 4=その他, 5=特になし | |
| specialtyField: '0', | |
| // 5-5. ワークショップ・フォーラム参加可能な時間帯(チェックボックス c_q301) | |
| // 配列でインデックスを指定 | |
| // 0=平日午前, 1=平日午後, 2=平日夜, 3=休日午前, 4=休日午後, 5=休日夜 | |
| availableTime: [2, 4], // 平日夜、休日午後 | |
| // 5-6. 話を聞きたい講演者やテーマ(テキストエリア c_q305) | |
| workshopTheme: '最新のセキュリティ動向について', | |
| // 5-7. 希望する実施形態(チェックボックス c_q287、複数選択可) | |
| // 0=PCを使った実習講義, 1=PC実習のない座学講義, 2=技術以外(キャリアアップ等)に関する講義, | |
| // 3=キャンプ参加者同士の懇親の場, 4=オンライン, etc=その他 | |
| workshopFormat: [0, 4], // PC実習、オンライン | |
| workshopFormatOther: '', // "etc"を選択した場合の入力値 | |
| }, | |
| // 設問6: IPAの事業体験等への参加意向、その他 | |
| section6: { | |
| // 6-1. 興味関心があるイベント(チェックボックス c_q345、複数選択可) | |
| // 0=情報セキュリティ10大脅威選考への参加, 1=情報セキュリティ白書の執筆, | |
| // 2=セキュリティセミナー等の運営支援, 3=未踏発企業への訪問・情報交換, | |
| // 4=セキュリティセミナー等の聴講, 5=未踏関連イベント等の運営支援, | |
| // 6=未踏関連イベント等の参加, 7=該当なし, etc=その他 | |
| interestedEvents: [4, 6], // セミナー聴講、未踏イベント参加 | |
| interestedEventsOther: '', // "etc"を選択した場合の入力値 | |
| // 6-2. IPAからの情報提供への同意(チェックボックス c_q349_0) | |
| // true/false | |
| agreementInfoProvision: true, | |
| // 6-3-1. 修了生Slackへの参加状況(ラジオボタン c_q329) | |
| // 選択肢の値: "0"=既に参加済み, "1"=参加を希望する, "2"=参加を見送る | |
| slackStatus: '0', | |
| // 6-3-2. Slack招待用URL送付先メールアドレス(テキスト入力 c_q330) | |
| slackEmail: '', | |
| // 6-4. IPAセキュリティ・キャンプ事務局へのご意見・ご要望(テキストエリア c_q276) | |
| feedback: '特にありません。', | |
| }, | |
| // 個人情報の取扱いへの同意(チェックボックス c_q46_0、必須) | |
| privacyAgreement: true, | |
| }; | |
| // ======================================== | |
| // フォーム入力処理(ここから下は編集不要) | |
| // ======================================== | |
| // ヘルパー関数: 要素に値を設定 | |
| function setValue(selector, value) { | |
| const element = document.querySelector(selector); | |
| if (element) { | |
| element.value = value; | |
| element.dispatchEvent(new Event('input', { bubbles: true })); | |
| element.dispatchEvent(new Event('change', { bubbles: true })); | |
| return true; | |
| } | |
| return false; | |
| } | |
| // ヘルパー関数: チェックボックス/ラジオボタンを設定 | |
| function setChecked(selector, checked) { | |
| const element = document.querySelector(selector); | |
| if (element) { | |
| element.checked = checked; | |
| element.dispatchEvent(new Event('change', { bubbles: true })); | |
| return true; | |
| } | |
| return false; | |
| } | |
| // ヘルパー関数: セレクトボックスの値を設定 | |
| function setSelect(selector, value) { | |
| const element = document.querySelector(selector); | |
| if (element) { | |
| element.value = value; | |
| element.dispatchEvent(new Event('change', { bubbles: true })); | |
| return true; | |
| } | |
| return false; | |
| } | |
| // メイン処理 | |
| function fillForm() { | |
| console.log('フォームの自動入力を開始します...'); | |
| // 設問1: 個人に関する設問 | |
| console.log('設問1を入力中...'); | |
| setValue('#c_q66_first', FORM_DATA.section1.lastName); | |
| setValue('#c_q66_second', FORM_DATA.section1.firstName); | |
| setValue('#c_q8_first', FORM_DATA.section1.lastNameKana); | |
| setValue('#c_q8_second', FORM_DATA.section1.firstNameKana); | |
| setValue('#c_q291_year', FORM_DATA.section1.birthYear); | |
| setSelect('#c_q291_month', FORM_DATA.section1.birthMonth); | |
| setSelect('#c_q291_day', FORM_DATA.section1.birthDay); | |
| setValue('#c_q9', FORM_DATA.section1.email); | |
| setValue('#c_q9_confirm', FORM_DATA.section1.email); | |
| // 1-5. 所属 | |
| const affiliationMap = { | |
| student: '#c_q344_0', | |
| employee: '#c_q344_1', | |
| parttime: '#c_q344_2', | |
| other: '#c_q344_etc', | |
| }; | |
| Object.keys(affiliationMap).forEach((key) => { | |
| setChecked( | |
| affiliationMap[key], | |
| FORM_DATA.section1.affiliation.includes(key), | |
| ); | |
| }); | |
| if (FORM_DATA.section1.affiliation.includes('other')) { | |
| setValue('#c_q344_etc_text', FORM_DATA.section1.affiliationOther); | |
| } | |
| // 1-6. 全国大会の参加年度 | |
| const nationalYearMap = { | |
| 2004: 0, | |
| 2005: 1, | |
| 2006: 2, | |
| 2007: 3, | |
| 2008: 4, | |
| 2009: 5, | |
| 2010: 6, | |
| 2011: 7, | |
| 2012: 8, | |
| 2013: 9, | |
| 2014: 10, | |
| 2015: 11, | |
| 2016: 12, | |
| 2017: 13, | |
| 2018: 14, | |
| 2019: 15, | |
| 2020: 16, | |
| 2021: 17, | |
| 2022: 18, | |
| 2023: 19, | |
| 2024: 20, | |
| 2025: 21, | |
| none: 22, | |
| }; | |
| Object.keys(nationalYearMap).forEach((year) => { | |
| setChecked( | |
| `#c_q348_${nationalYearMap[year]}`, | |
| FORM_DATA.section1.nationalCampYears.includes(year), | |
| ); | |
| }); | |
| // 1-7. ネクストの参加年度 | |
| const nextYearMap = { | |
| 2019: 0, | |
| 2020: 1, | |
| 2021: 2, | |
| 2022: 3, | |
| 2023: 4, | |
| 2024: 5, | |
| 2025: 6, | |
| none: 7, | |
| }; | |
| if (FORM_DATA.section1.nextCampYear in nextYearMap) { | |
| setChecked(`#c_q339_${nextYearMap[FORM_DATA.section1.nextCampYear]}`, true); | |
| } | |
| // 1-8. ジュニアの参加年度 | |
| const juniorYearMap = { | |
| 2023: 0, | |
| 2024: 1, | |
| 2025: 2, | |
| none: 3, | |
| }; | |
| if (FORM_DATA.section1.juniorCampYear in juniorYearMap) { | |
| setChecked( | |
| `#c_q340_${juniorYearMap[FORM_DATA.section1.juniorCampYear]}`, | |
| true, | |
| ); | |
| } | |
| // 1-9. セキュリティ・キャンプミニの参加年度 | |
| const miniYearMap = { | |
| 2013: 0, | |
| 2014: 1, | |
| 2015: 2, | |
| 2016: 3, | |
| 2017: 4, | |
| 2018: 5, | |
| 2019: 6, | |
| 2020: 7, | |
| 2021: 8, | |
| 2022: 9, | |
| 2023: 10, | |
| 2024: 11, | |
| 2025: 12, | |
| none: 13, | |
| }; | |
| Object.keys(miniYearMap).forEach((year) => { | |
| setChecked( | |
| `#c_q341_${miniYearMap[year]}`, | |
| FORM_DATA.section1.miniCampYears.includes(year), | |
| ); | |
| }); | |
| // 設問2: 学生向け設問 | |
| if (FORM_DATA.section1.affiliation.includes('student')) { | |
| console.log('設問2を入力中...'); | |
| setSelect('#c_q259', FORM_DATA.section2.careerHope); | |
| setSelect('#c_q260', FORM_DATA.section2.itCareerHope); | |
| } | |
| // 設問3: 社会人向け設問 | |
| if ( | |
| FORM_DATA.section1.affiliation.includes('employee') || | |
| FORM_DATA.section1.affiliation.includes('parttime') | |
| ) { | |
| console.log('設問3を入力中...'); | |
| setSelect('#c_q261', FORM_DATA.section3.companyType); | |
| setValue('textarea[name="c_q279"]', FORM_DATA.section3.companyTypeOther); | |
| if (FORM_DATA.section3.companyMembership === 'member') { | |
| setChecked('#c_q290_0', true); | |
| } else if (FORM_DATA.section3.companyMembership === 'nonmember') { | |
| setChecked('#c_q290_1', true); | |
| } | |
| if (FORM_DATA.section3.securityWork === 'yes') { | |
| setChecked('#c_q262_0', true); | |
| } else { | |
| setChecked('#c_q262_1', true); | |
| } | |
| setValue('textarea[name="c_q333"]', FORM_DATA.section3.companyName); | |
| } | |
| // 設問4: これまでの活動等に関わる設問 | |
| console.log('設問4を入力中...'); | |
| if (FORM_DATA.section4.eventParticipation === 'yes') { | |
| setChecked('#c_q314_0', true); | |
| // 4-1-1. 該当するものにチェック(c_q315) | |
| FORM_DATA.section4.eventParticipationDetails.forEach((index) => { | |
| if (index === 'etc') { | |
| setChecked('#c_q315_etc', true); | |
| setValue('#c_q315_etc_text', FORM_DATA.section4.eventParticipationDetailsOther); | |
| } else { | |
| setChecked(`#c_q315_${index}`, true); | |
| } | |
| }); | |
| // 4-1-2. イベント開催をどのような方法で知りましたか?(c_q316) | |
| setValue('textarea[name="c_q316"]', FORM_DATA.section4.eventInfoSource); | |
| } else { | |
| setChecked('#c_q314_1', true); | |
| } | |
| // 4-2-1. イベント参加(表形式 c_q302) | |
| FORM_DATA.section4.events.forEach((index) => { | |
| setChecked(`#c_q302_${index}`, true); | |
| }); | |
| setValue('textarea[name="c_q313"]', FORM_DATA.section4.otherContests); | |
| // 4-3〜4-5(任意) | |
| if (FORM_DATA.section4.securitySupporterExam === 'yes') { | |
| setChecked('#c_q294_0', true); | |
| } else if (FORM_DATA.section4.securitySupporterExam === 'no') { | |
| setChecked('#c_q294_1', true); | |
| } | |
| if (FORM_DATA.section4.itExam === 'yes') { | |
| setChecked('#c_q267_0', true); | |
| // 4-4-1. 合格している試験区分(c_q266) | |
| FORM_DATA.section4.itExamCategories.forEach((index) => { | |
| setChecked(`#c_q266_${index}`, true); | |
| }); | |
| } else if (FORM_DATA.section4.itExam === 'no') { | |
| setChecked('#c_q267_1', true); | |
| } | |
| if (FORM_DATA.section4.mitouApplication === 'yes') { | |
| setChecked('#c_q318_0', true); | |
| } else if (FORM_DATA.section4.mitouApplication === 'no') { | |
| setChecked('#c_q318_1', true); | |
| } else if (FORM_DATA.section4.mitouApplication === 'unknown') { | |
| setChecked('#c_q318_2', true); | |
| } | |
| setSelect('#c_q295', FORM_DATA.section4.instructorContact); | |
| setSelect('#c_q303', FORM_DATA.section4.alumniContact); | |
| setSelect('#c_q297', FORM_DATA.section4.securityNetwork); | |
| // 設問5: 今後の関わり | |
| console.log('設問5を入力中...'); | |
| if (FORM_DATA.section5.cooperationIntent === '0') { | |
| setChecked('#c_q355_0', true); | |
| } else { | |
| setChecked('#c_q355_1', true); | |
| } | |
| // 5-2. 協力内容(表形式 c_q321) | |
| FORM_DATA.section5.cooperation.forEach((index) => { | |
| setChecked(`#c_q321_${index}`, true); | |
| }); | |
| // 5-3. キャンプミニのエリア | |
| setChecked(`#c_q351_${FORM_DATA.section5.miniCampArea}`, true); | |
| setSelect('#c_q274', FORM_DATA.section5.specialtyField); | |
| // 5-5. 参加可能な時間帯(c_q301) | |
| FORM_DATA.section5.availableTime.forEach((index) => { | |
| setChecked(`#c_q301_${index}`, true); | |
| }); | |
| // 5-6. 話を聞きたい講演者やテーマ(c_q305) | |
| setValue('textarea[name="c_q305"]', FORM_DATA.section5.workshopTheme); | |
| // 5-7. 希望する実施形態(c_q287) | |
| FORM_DATA.section5.workshopFormat.forEach((index) => { | |
| if (index === 'etc') { | |
| setChecked('#c_q287_etc', true); | |
| setValue('#c_q287_etc_text', FORM_DATA.section5.workshopFormatOther); | |
| } else { | |
| setChecked(`#c_q287_${index}`, true); | |
| } | |
| }); | |
| // 設問6: その他 | |
| console.log('設問6を入力中...'); | |
| FORM_DATA.section6.interestedEvents.forEach((index) => { | |
| if (index === 'etc') { | |
| setChecked('#c_q345_etc', true); | |
| setValue('#c_q345_etc_text', FORM_DATA.section6.interestedEventsOther); | |
| } else { | |
| setChecked(`#c_q345_${index}`, true); | |
| } | |
| }); | |
| setChecked('#c_q349_0', FORM_DATA.section6.agreementInfoProvision); | |
| // 6-3-1. Slack参加状況 | |
| setChecked(`#c_q329_${FORM_DATA.section6.slackStatus}`, true); | |
| // 6-3-2. Slack招待用URL送付先メールアドレス | |
| setValue('#c_q330', FORM_DATA.section6.slackEmail); | |
| setValue('textarea[name="c_q276"]', FORM_DATA.section6.feedback); | |
| // 個人情報の取扱いへの同意 | |
| setChecked('#c_q46_0', FORM_DATA.privacyAgreement); | |
| console.log('フォームの自動入力が完了しました!'); | |
| console.log('内容を確認して「送信内容確認」ボタンをクリックしてください。'); | |
| } | |
| // 実行 | |
| try { | |
| fillForm(); | |
| } catch (error) { | |
| console.error('エラーが発生しました:', error); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment