1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWSのイベント登録ページのフォームを自動入力する即時実行関数作った

Last updated at Posted at 2021-02-02

概要

AWSのイベントページの登録の際に、毎回求められる入力フォーム、あれ大変ですよね?

大変ですよね??

blackbeltセミナーなどの登録も、アレが億劫でやめてしまったこと、ありますよね?

ありますよね???

https://pages.awscloud.com/JAPAN-field-OE-nyantech-handson-ml-and-elasticsearch-2021-reg-event.html
こういうページの、

image.png
これです。

結論

自動入力するスクリプトを書きました。
次からはコピペでいけます。

以下スクリプト

引数のuserinfoオブジェクトを、利用する方の情報に置き換えてください。
コメントアウトしているとこの、[選択]と書いてある項目は、選択式になっています。
それぞれ、関数の初めの方で定義している定数(UPPER_SNAKE_CASE)から選んでください。


(function (userinfo = {
  email: 'hogehoge@fuga.com', // 勤務先メールアドレス
  lastName: 'アマゾン', // 姓
  firstName: '太郎', // 名
  company: 'amazon', // 御社名
  jobTitle: 'CEO', // 所属部署名/役職
  phoneNumber: '0331234567', // 電話番号(例:0331234567)ハイフンなしでご入力ください
  mobilePhone: '08031234567', // 携帯電話などの日中連絡が可能な電話番号 (例:08031234567)ハイフンなしでご入力ください
  country: '日本', // [選択]国/地域
  zipCode: '153-0001', // 郵便番号(例:153-0001) ハイフンを入れてご入力ください
  companyCity: 'Tokyo', // 勤務先のご住所(これだけ必須項目では無い)
  jobRole: '開発者/エンジニア', // [選択]職種
  jobKind: 'ソフトウェア&インターネット', // [選択]業種
  companyType: '自営業', // [選択]会社の種類
  companySize: '1~19', // [選択]御社の従業員数
  useAWS: 'AWS を評価中または試験中', // [選択]AWSのご利用状況
  timeFrame: '3ヶ月以内', // [選択]導入予定時期
  usecase: 'モバイルアプリケーション', // [選択]ご利用用途
  eventDescription: '上記以外で、個人の学習目的', // [選択]イベントの参加目的
  marketing: 'アマゾンのメールから', // [選択]本イベントをお知りになった経緯
  purpose: '個人目的' // [選択]私は以下の目的でこのフォームへ登録しています
}) {
  const COUNTRY = [
    '日本','米国','アフガニスタン','アルバニア','アルジェリア','米領サモア','アンドラ','アンギラ','南極','アンティグア',
    'アルゼンチン','アルメニア','アルバ','オーストラリア','オーストリア','アゼルバイジャン','バハマ諸島','バーレーン','バングラデシュ','バルバドス' ,
    'ベラルーシ','ベリーズ','ベルギー','ベニン','バミューダ','ブータン','ボリビア','ブーベ島','ボスニアヘルツェゴビナ','ボツワナ',
    'ブラジル','英領インド洋地域','ブルネイ','ブルガリア','ブルキナファソ','ブルンジ','カンボジア','カメルーン','カナダ','カーボベルデ',
    'ケイマン諸島','中央アフリカ共和国','チャド','チリ','中国','香港','中国(マカオ特別行政区)','クリスマス島','ココス(キーリング)諸島','コロンビア',
    'コモロ','クック諸島','コスタリカ','コートジボワール(象牙海岸)','クロアチア','キプロス','チェコ共和国','コンゴ民主共和国','デンマーク','ドミニカ',
    'ドミニカ共和国','ジブチ','東ティモール','エクアドル','エジプト','エルサルバドル','赤道ギニア','エリトリア','エストニア','エチオピア',
    'フォークランド諸島','フェロー諸島','フィジー','フィンランド','フランス','フランス領ギアナ','フランス領ポリネシア','フランス領南極南諸島','マケドニア旧ユーゴスラビア共和国','ガボン',
    'ガンビア','ジョージア','ドイツ','ガーナ','ジブラルタル','ギリシャ','グリーンランド','グレナダ','グアドループ','グアム',
    'グアテマラ','ギニア','ギニアビサウ','ガイアナ','ハイチ','ハード島およびマクドナルド諸島','ホンジュラス','ハンガリー','アイスランド','インド',
    'インドネシア','アイルランド','イスラエル','イタリア','ジャマイカ','ヨルダン','カザフスタン','ケニア','キリバス',
    '韓国','クウェート','キルギスタン','ラオス','ラトビア','レバノン','レソト','リベリア','リヒテンシュタイン','リトアニア',
    'ルクセンブルグ','マダガスカル','マラウイ','マレーシア','モルジブ','マリ','マルタ','マーシャル諸島','モーリタニア','モーリシャス',
    'マルチニーク','マイヨット','メキシコ','ミクロネシア','モルドバ','モナコ','モンゴル','モントセラト','モロッコ','モザンビーク',
    'ミャンマー','ナミビア','ナウル','ネパール','オランダ','オランダ領アンティル','ニューカレドニア','ニュージーランド','ニカラグア','ニジェール',
    'ナイジェリア','ニウエ','ノルウェー','ノーフォーク島','北マリアナ諸島','オマーン','パキスタン','パラオ','パナマ','パプアニューギニア',
    'パラグアイ','ペルー','フィリピン','ピトケアン','ポーランド','ポルトガル','プエルトリコ','カタール','コンゴ共和国','レユニオン',
    'ルーマニア','ロシア','セントヘレナ','セントキッツ島','セントルシア','サンピエール島','セントビンセント','サモア','サンマリノ','サントメ',
    'サウジアラビア','セネガル','セルビア','セイシェル','シエラレオネ','シンガポール','スロバキア','スロベニア','ソロモン諸島','ソマリア',
    '南アフリカ','南ジョージア島および南サンドイッチ諸島','スペイン','スリランカ','スリナム','スバールバル諸島およびヤンマイエン島','スワジランド','スウェーデン','スイス','シリア',
    '台湾','タジキスタン','タンザニア','タイ','トーゴ','トケラウ','トンガ','トリニダードトバゴ','チュニジア','トルコ',
    'タークスおよびカイコス諸島','トルクメニスタン','ツバル','ウガンダ','ウクライナ','アラブ首長国連邦','英国','合衆国領有小離島','ウルグアイ','ウズベキスタン',
    'バヌアツ','バチカン市国','ベネズエラ','ベトナム','英領バージン諸島','米領バージン諸島','ウォリス','西サハラ','イエメン','ザンビア','ジンバブエ'];
  
  const JOB_ROLE = [
    '教育機関/研究者', 'アドバイザー/コンサルタント', '企業幹部', 
    '開発者/エンジニア', '起業家(創業者/共同創業者)', 'IT 幹部  ', 
    'IT 専門家または技術管理職', '報道/メディアアナリスト', 'セールス/マーケティング', 
    '学生', 'ソリューションまたはシステムアーキテクト', 'システム管理者', 
    '投資家'
  ];
  
  const JOB_KIND = [
    '農業', '自動車', 'コンピューター&エレクトロニクス', 
    '消費財', '教育および関連サービス', '金融および関連サービス', 
    'ゲーム', '官公庁、地方公共団体および関連サービス', '医療および関連サービス', 
    '接客', 'ライフサイエンス', '製造', 
    'マーケティングおよび広告', 'メディア&エンターテイメント', '製造', 
    '非営利団体', '石油とガス', 'その他', 
    '電力および公益産業', 'プロフェッショナルサービス', '不動産&建設', 
    '小売', 'ソフトウェア&インターネット', '通信', 
    '運輸&ロジスティクス', '旅行', '卸売&流通'
  ];

  const COMPANY_TYPE = [
    '教育', 'エンタープライズ', '公共機関', '官公庁', '地方公共団体', '非営利団体、非政府組織、財団法人、社団法人、宗教法人、組合組織等',
    '自営業', '中小企業', 'スタートアップ', '該当しません'
  ];

  const COMPANY_SIZE = [
    '1~19',
    '20~99',
    '100~499',
    '500~999',
    '1,000~9,999',
    '10,000~'
  ];

  const USE_AWS = [
    '現在は AWS を使用していない',
    'AWS を評価中または試験中',
    'AWS で開発 / テストワークロードを実行',
    'AWS でプロダクションワークロードを実行',
    'AWS で複数のプロダクションワークロードを実行'
  ];

  const TIMEFRAME = [
    '予定していない', 
    '3ヶ月以内', 
    '半年以内', 
    '1年以内', 
    '1年後以降で検討'
  ];

  const USE_CASE = [
    'AIと機械学習', 'バッチ処理', 'ビッグデータ、分析、ビジネスインテリジェンス', 'ビジネスアプリケーション – Microsoft',
    'ビジネスアプリケーション – Oracle', 'ビジネスアプリケーション – その他', 'ビジネスアプリケーション – SAP', 'コンテンツ配信',
    'データベース、データウェアハウス', 'DevOps', 'ゲーム', 'ハイパフォーマンス・コンピューティング',
    'IoT', 'トレーニングと認定', 'メディアサービス', '移行', 'モバイルアプリケーション', 'その他', 'ストレージ&バックアップ', 'ウェブサイトとウェブアプリ'
  ];

  const EVENT_DESCRIPTION = [
    '自社利用に対する情報収集として',
    '自社利用目的 - 検証中',
    '自社利用目的 - 本番運用中',
    '提案目的 - 今後の提案に向けた情報収集として',
    '提案目的 - 提案中及び提案を控えている',
    '上記以外で、個人の学習目的',
    '上記以外で、上長からの指示'
  ];

  const MARKETING = [
    'アマゾンの営業から',
    'アマゾンのウェブから',
    'アマゾンのメールから',
    '展示会やセミナー参加時のチラシ',
    'キャンペーンから',
    'AWSのオンライン広告から',
    'Twitterから',
    'アマゾンの Facebook ページから',
    'アマゾンのパートナーから',
    '会社の上司・同僚から',
    'その他'
  ];

  const PURPOSE = [
    'ビジネス目的','個人目的'
  ]

  document.querySelector("#mktoCheckbox_1904795_0").click();
  document.querySelector("#Email").value = userinfo.email;
  document.querySelector("#LastName").value = userinfo.lastName;
  document.querySelector("#FirstName").value = userinfo.firstName;
  document.querySelector("#Company").value = userinfo.company;
  document.querySelector("#zOPprogressiveprofilingjtitle").value = userinfo.jobTitle;
  document.querySelector("#zOPprogressiveprofilingpnum").value = userinfo.phoneNumber;
  document.querySelector("#MobilePhone").value = userinfo.mobilePhone;
  document.querySelector("#zOPprogressiveprofilingcntry").selectedIndex = COUNTRY.indexOf(userinfo.country) + 1;
  document.querySelector("#zOPprogressiveprofilingpcode").value = userinfo.zipCode;
  document.querySelector("#City").value = userinfo.companyCity;
  document.querySelector("#zOPprogressiveprofilingjrole").selectedIndex = JOB_ROLE.indexOf(userinfo.jobRole) + 1;
  document.querySelector("#zOPprogressiveprofilingind").selectedIndex = JOB_KIND.indexOf(userinfo.jobKind) + 1;
  document.querySelector("#Company_Type__c").selectedIndex = COMPANY_TYPE.indexOf(userinfo.companyType) + 1;
  document.querySelector("#Company_Size__c").selectedIndex = COMPANY_SIZE.indexOf(userinfo.companySize) + 1;
  document.querySelector("#zOPprogressiveprofilingausag").selectedIndex = USE_AWS.indexOf(userinfo.useAWS) + 1;
  document.querySelector("#Project_Timeframe__c").selectedIndex = TIMEFRAME.indexOf(userinfo.timeFrame) + 1;
  document.querySelector("#zOPprogressiveprofilingucase").selectedIndex = USE_CASE.indexOf(userinfo.usecase) + 1;
  document.querySelector("#Project_Description__c").selectedIndex = EVENT_DESCRIPTION.indexOf(userinfo.eventDescription) + 1;
  document.querySelector("#Marketing_Program_Field_1__c").selectedIndex = MARKETING.indexOf(userinfo.marketing) + 1;
  document.querySelector(`#mktoRadio_1904815_${PURPOSE.indexOf(userinfo.purpose)}`).click();
}());

使い方

  1. スクリプトのuserinfoをみなさんの情報で埋めます。
  2. (function (userinfo = { から }()); まで全部コピーします。
  3. イベント登録したいAWSのイベントページを開き、デベロッパーモード(F12)を開きます。
  4. Consoleタブに移動し、コピーしたスクリプトを貼り付けます。
  5. Enterを押して実行します。

実行してみた結果

縦に長いのでスクリプトが入りきりませんでしたが、入力フォームにはちゃんと値が入りました :)
image.png

まとめ

これで、躊躇うことなくAWSのイベントに参加できますね!

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?