依頼を受けたので作りました。
Tampermonkeyの導入など基本的な部分は以下の記事を参照
ptrst102.hatenadiary.jp
今回は「東京か埼玉の会場ならどこでもいいからエントリーしたい」という人のためのスクリプトです。
// ==UserScript== // @name シティリーグエントリー自動化 // @namespace http://ptrst102.hatenadiary.jp/ // @version 0.1 // @description シティリーグエントリー自動化 // @author @ptrst102 // @match https://event.pokemon-card.com/prior-reception-gym-events/* // @grant none // @require http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js // ==/UserScript== (function () { $.wait = function (msec) { var d = new $.Deferred(); setTimeout(function () { d.resolve(msec); }, msec); return d.promise(); }; //ボタンを探す $(".eventDetailContents__leagueListBoxColumns").each(function (i, elem) { if ( $(elem) .text() .match(/(東京都|埼玉県)/) ) { console.log($(elem).text()); //ボタンが「締め切り」の場合、何もしない //そうでなければ、参加申請処理を行う if ($(elem).text().match(/締め切り/)) { } else { $(elem) .find(".eventDetailContents__leagueListBoxButtonTemporaryEntry") .click(); $.wait(500).done(function () { $(".popup__formCheckBoxText--small").click(); $.wait(500).done(function () { $(".js-privacyCheckNeeded__button").click(); $.wait(1000).done(function () { if ( $("body") .text() .match( /定員に達したため、エントリーすることが出来ませんでした。/ ) ) { window.location.reload(true); } else { window.location.href = "http://bit.ly/2KsphU4"; } }); }); }); } } }); //リロード $.wait(1000).done(function () { window.location.reload(true); }); })();
スクリプトを導入した状態でシティリーグのページを開くとうまくいきます。
参加申請ボタンを押す速度が手動より上がるようブラウザの操作を自動化しているだけ(サーバへの負荷を抑えるため、ブラウザを更新する頻度は手動より低い)なので、当たり前ですがサーバが落ちているときに使っても意味ないです。
うまく使ってください。