https://haxpig.com/tinder%E3%81%AF%E3%81%98%E3%82%81%E3%81%BE%E3%81%97%E3%81%9F/WebエンジニアによるWeb関連の色々と趣味雑多。前回の記事に書いた通り、僕は全員Likeしてます。英語で会話がしたい、と言う動機の元で利用しているので。なると、毎回毎回Tinder開いてはLikeを連打しているわけです。プログラマーとして日々繰り返していることは可能な限りプログラムで済ませたくなるのが性ですよね。言うか、こんなの人のやる作業じゃない、とさえ思ったわけです。やって今回はJavaScriptを利用しました。先に書いておきますが、APIとかスクレイピングは利用していません。あとコードはあえて載せません。HTMLとJavaScriptの中々いい勉強になると思ったので、考え方だけ書きます。慣れてる人は10,20分程度で実装できるかと思います。作業手順としては、HTMLを読み解く欲しい要素を取得する取得した要素のイベントを発火させる繰り返し処理にするになります。HTMLを読み解くまずは目的の要素を探します。該当の要素に何のid,classclassが付いているか見つけます。一意のものがあるととても嬉しいですね。欲しい要素を取得する欲しい要素が見つかったら取得します。JavaScriptのgetElementsByIdやgetElementsByClassNameを使えば容易に取得できます。getElementsByClassNameの場合、配列が返ってきますので注意しましょう。取得した要素のイベントを発火させる欲しい要素が取得できたらイベント発火です。イベントと言うのはclickとかhover、Tinderであればスワイプやキー操作もイベントですね。上手くいけばこの時点で1件Likeすることができるはずです。繰り返し処理にする1件できたらあとはもう繰り返し処理にするだけです。単純にfor文を使うだけでは全然想定の動きをしてくれません。それもそのはず、コンピュータの繰り返し処理は人間のそれよりも遥かに速いわけですし、カードが右に消えて次のカードが出てくるまで時間がかかりますからね。一定間隔で処理が繰り返されるようにしましょう。