概要
AWSのイベントページの登録の際に、毎回求められる入力フォーム、あれ大変ですよね?
大変ですよね??
blackbeltセミナーなどの登録も、アレが億劫でやめてしまったこと、ありますよね?
ありますよね???
https://pages.awscloud.com/JAPAN-field-OE-nyantech-handson-ml-and-elasticsearch-2021-reg-event.html
こういうページの、
結論
自動入力するスクリプトを書きました。
次からはコピペでいけます。
以下スクリプト
引数の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();
}());
使い方
- スクリプトの
userinfo
をみなさんの情報で埋めます。 -
(function (userinfo = {
から}());
まで全部コピーします。 - イベント登録したいAWSのイベントページを開き、デベロッパーモード(F12)を開きます。
- Consoleタブに移動し、コピーしたスクリプトを貼り付けます。
- Enterを押して実行します。
実行してみた結果
縦に長いのでスクリプトが入りきりませんでしたが、入力フォームにはちゃんと値が入りました :)
まとめ
これで、躊躇うことなくAWSのイベントに参加できますね!