就活サイトのログインを自動化してみた

#目次
[1.はじめに](#1-はじめに)
<details><summary>[2.新卒就活中の感想](#2-新卒就活中の感想)</summary><div>
　[2.1.オンライン就活について](#2-1オンライン就活について)
　[2.2.就活サービス多すぎ問題](#2-2就活サービス多すぎ問題)</div></details>
<details><summary>[3.スカウト系就活サービスとは](#3-スカウト系就活サービスとは)</summary><div>
　[3.1.スカウト系就活サービスの概要](#3-1スカウト系就活サービスの概要)
　[3.2.他サービスとの違いとメリデメ](#3-2他サービスとの違いとメリデメ)
　[3.3.しておくと安心な対策](#3-3しておくと安心な対策)</div></details>
<details><summary>[4.オファーを増やす方法](#4-オファーを増やす方法)</summary><div>
　[4.1.オファーを増やすポイント](#4-1オファーを増やすポイント)
　[4.2.なぜ頻繫にログインする必要があるのか](#4-2なぜ頻繫にログインする必要があるのか)</div></details>
<details><summary>[5.自動ログインシステムの作り方](#5-自動ログインシステムの作り方)</summary><div>
　[5.1.構成図](#5-1構成図)
　[5.2.動作環境](#5-2動作環境)
　[5.3.使用ツール](#5-3使用ツール)
　[5.4.Power Automate for desktopフローの作り方](#5-4power-automate-for-desktopフローの作り方)
　[5.5.PadFlowRunの設定](#5-5padflowrunの設定)
　[5.6.タスクスケジューラ及びWindowsの環境設定](#5-6タスクスケジューラ及びwindowsの環境設定)
　　[ハマりポイント1「ユーザーがログオンしているかどうかに関わらず実行する」を選択すると実行されない](#ハマりポイント1ユーザーがログオンしているかどうかに関わらず実行するを選択すると実行されない)
　　[ハマりポイント2スリープモード状態からタスクスケジューラが予定時刻になっても起動しない](#ハマりポイント2-スリープモード状態からタスクスケジューラが予定時刻になっても起動しない)</div></details>
[6.おわりに](#6-おわりに)

#1. はじめに
こんにちは。
23卒として就活を最近始めた出遅れ系女子セプタラトーテと申します。
現在は[株式会社コミュカル](https://comucal.co.jp/)さんで、雪国から完全リモートで長期インターンをさせてもらってます！

今回は インターンの一環として、[RPA Community Advent Calendar 2021](https://adventar.org/calendars/6396?fbclid=IwAR0JLb_qFvHlc6ZKE4rjwPUclV8FA-btDBK1ZkZM2tFO-uvBmDCWKU_jnxc)に参加します！
４日目は[あややさん](https://twitter.com/_Ayy_h_18)の記事でした。
あややさんは株式会社コミュカルの CMO で、メディアのスペシャリストです！
どんな記事か気になりますね！

私は５日目を担当し、11/26（金）に [RPACommunity](https://rpacommunity.connpass.com/) の学生支部で発表した「就活サイトのログインを自動化してみた」の詳しい内容を記事にしてみようと思います。
特に自動化のレシピ部分は、[発表スライド](https://speakerdeck.com/seputaratote/26xue-sheng-zhi-bu-fa-biao-zi-liao-tote-4d5469ec-7d12-4017-8354-e3431bb789e6)やデモでは詳しく説明できていなかったので、この記事の[5.自動ログインシステムの作り方](#5-自動ログインシステムの作り方)で説明します。

#2. 新卒就活中の感想
<a id="anchor1"></a>
##2. 1オンライン就活について
2020年にも少し就活をしていたのですが、コロナ世代ということもあってか１個上の先輩のやり方を参考にできず、なかなか難しい状況でした。
2021年に入ってからは 22卒の先輩方のやり方を学んだりアドバイスも受けられましたし、企業側としてもリモートでの採用活動に慣れてきたのかな？という感触があります。
最近（11月現在）では全国的にコロナも落ち着き始めて、オフラインでの就活もだいぶ見かけるようになりましたね。
状況が一転二転してしまい、入学時には想像もしてないような就活状況になってる方も多いのではないでしょうか？

特にグループディスカッション（以下、GD）に関しては「普段どれだけPCやオンラインサービスを使えているか」で、差が出ていたように感じました。
オンライン授業やイベントにも慣れ、ほぼメジャーなオンライン会議ツールや Googleスプレッドシートやスライドも難なく使える人はあまり影響はなかったと思います。
ですが、画面共有や共同編集の仕方、リンクの共有が上手くできずに予想外の所に時間を使ってしまうパターンの GDをいくつか経験しました。
書記やタイムキーパーは画面共有をするか都度発言する必要がありますからね。
この辺りは、オフラインと進め方も異なり新たに対策が必要な部分だったかもしれません。

このようにオンライン就活も主流となった今、新たな就活または就活対策の形が模索されてきたのかな、と思います。
しかし、今も昔も変わらないこともあります。
そう…

**就活サービス多すぎん！？**問題です。
##2. 2就活サービス多すぎ問題
[こちらのサイト](https://hrog.net/knowledge/map/83611/)では就活サービスは 139種類もあるとあります。
大半の就活生は、先輩や友人からおすすめの就活サービスを使用していると思います。
私もメジャーなマイナビやリクナビ辺りでインターンや求人を探して、四季報や業界マップを使って企業・業界研究をしていました。
暫くはこれで志望するところを見つけられれば…と考えていたのですが、Twitterの就活垢でサポーターズの 1on1イベントを知りました。
そこからは~~「マッチング系や逆求人系も使うと、こちらから探す手間が省けて楽ができる！」~~　「マッチング系や逆求人系で今まで知らなかった業界や企業と繋がれて、そういったところにも自分が需要があることや自己分析にも繋がる！」ということに気付き、こういった就活サービスも利用するようになりました。

#3. スカウト系就活サービスとは
##3. 1スカウト系就活サービスの概要
[こちらのサイト](https://prtimes.jp/main/html/rd/p/000000026.000046220.html)に就活サービスカオスマップというものがあります。
その左上辺りに「逆求人」や「マッチングイベント」と記載されています。
この辺りをこの記事では「スカウト系就活サービス」と言っています。
どちらも使ってみましたが、体感的にはあまり大きな差は感じなかったからです。
というかもう就活サービスに登録した情報を基に企業がオファーを出すサービスなら「スカウト系就活サービス」でいいかな、とすら思っています。

##3. 2他サービスとの違いとメリデメ
他の就活サービスと違うのは**「サービスに登録した情報でいかに企業に興味を持ってもらうか」**かな、と考えています。
なので、同じ自己 PR文でも登録するサービスが違うとオファーをくれる企業や業界もガラッと変わります。
オファーがなかなか来ないな、と思ったら登録情報の書き方を変えてみたりすると結構変わったりします。
サービス毎に強い業界や規模が違うので、自分の志望業界等が決まってる人はこの辺りを調べてから登録すると無駄な手間が減るかと思います。
私の感じたスカウト系就活サービスのメリデメをまとめてみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/85f09a9b-4005-6b9a-feff-58d4c131e0eb.png)

##3. 3しておくと安心な対策
ちなみにマッチングイベントに関してはサービス登録情報ももちろん見られますが、企業の方と話してみてお互いマッチしたと感じたら後日メールや電話でその後の特別選考フローの招待が来ます。
イベント当日の資料の準備は念入りにしておいた方が良いです。

ちなみに私は何故かマッチングイベントで選考のようなことをされて技術的な質問攻めに合い涙目になりました。
でも、その後その企業からプログラミングテスト無しでサマーインターンのお誘いを受けたので、ある程度技術的な質問にも対策をしておくと安心かもしれません。

#4. オファーを増やす方法
##4. 1オファーを増やすポイント
では、そういった**スカウト系就活サービスでのオファー数をどうやって増やすのか**が問題になってくると思います。
私が実践したポイントは

- できるだけプロフィールの内容を充実させる
    - 自己 PRや自己分析で使ったものを転用する
    - 書き方を工夫してみる
- できるだけ頻繫にログインする

です。
見てみると意外と簡単に思えますが、学業に研究、就活にバイトなど沢山のことを両立しながら、このサービス一つのためにあまり多くの時間を使えないとなると結構きつかったりします。
なので、できるだけこれまでの就活で作ってきたものを転用したりして時短していきましょう。

##4. 2なぜ頻繫にログインする必要があるのか
「頻繫にログインする」というのは、オファーが来ていれば確認のために自ずとログインするものですが、オファーが来るまでの期間は面倒な作業です。
なぜ頻繫にログインする必要があるかというと、企業側がサービスを利用し学生を検索するときに**「最終ログインが近日の学生が優先的に表示される」**からです。

私はこれを就活スタート後から結構経った後に知りましたが、実践してみると確かにオファー数が増えました（時期もあるとは思います）。

なので「毎日定時になると就活サービスに自動ログインしてくれるシステム」を作ることにしました！

- 毎日定時に起動する
- スリープ状態でも自動起動する
- 無料ツールでできる

以上を条件に作ってみました。

#5. 自動ログインシステムの作り方
##5. 1構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/24bef02f-82fb-8f0f-2ebc-a8ba9b9c693d.png)

Windows標準搭載の「タスクスケジューラ」使って、毎日定時に「UWSC(PadFlowRun）」からPower Automate for desktopの就活サービスに自動ログインするフローを起動し実行する。

##5. 2動作環境
Windows10
Chrome
##5. 3使用ツール
- Power Automate for desktop
- UWSC 
- PadFlowRun
- タスクスケジューラ（Windows標準搭載）

##5. 4Power Automate for desktopフローの作り方
Power Automate for desktopをインストールしていない方は、[こちらから](https://flow.microsoft.com/ja-jp/desktop/)インストールしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/89cd183c-0f3b-027f-0f8e-88f938d7cd36.png)

起動するとこのような画面になります。
左上の「新しいフロー」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/fad206c0-d2da-f89a-13f2-daa5903eb6c8.png)

「フロー名」を入力する画面になるので、好きな名前を入力してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/d05dfd7d-fa6b-088d-4185-417e624d40b3.png)

ついに自動化フローを作成する画面に来ました。
次は中央上にある「Webレコーダー」を選択しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/e9f5867b-6183-b566-d456-0a82579a4fe3.png)

レコーディングする対象のブラウザをここで選択します。
今回は「Chrome」で開いているアパホテルのログイン画面をレコーディングしたいので、図のような設定になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/979467bb-26b1-9f16-20df-efa5ce5e23b8.png)

このような画面が出てきたら左上の「レコード」をクリックして、実際に Chromeや他のブラウザで開いているログインフォーム上でログインするための動作を行いましょう！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/15280962-e548-1edd-d817-daae35941237.png)

こちらがレコーディングの結果になります。これをそのまま実行すると、ログインが自動化されている様子がわかると思います。

しかし先ほどログインしたままなので、メールアドレスやパスワードといった入力フォームが出てこなくてエラーが出たのではないでしょうか？
そこで、If分岐を使ってそういったエラーが出ないようにします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/84880ca1-9605-16cf-46c1-2ca7446a8b6e.png)

左の「アクション」の中から「ブラウザー自動化」配下にある「webページに次が含まれる場合」を選択します。
ここで例えば「メールアドレスの入力フォームがあったら、ログインのフローを実行しよう！」とするなら、UI要素には「そのWebページの入力フォーム」が必要になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/d66799ee-c955-9089-abcd-dd89943000ed.png)

なお、「UI要素の追加」を選択すると必要な要素を自動的に判別して持ってきてくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/a425a098-e3a2-47c7-a981-28ec6eb73a42.png)

最終的にフローはこのような形になりました。
ちゃんとフローが動くか確認したら「保存」しておきましょう。

##5. 5PadFlowRunの設定
[こちらのサイト](https://abundance-life.work/power-automate-desktop%EF%BC%88pad%EF%BC%89%E3%81%AE%E5%AE%9A%E6%9C%9F%E7%9A%84%E3%81%AA%E8%87%AA%E5%8B%95%E5%AE%9F%E8%A1%8C%E3%81%AE%E6%96%B9%E6%B3%95)に「PadFlowRun」の導入の仕方がわかりやすく書かれているので参考にしてみてください。
なお、この「PadFlowRun」は「UWSC」というフリーソフトのインストールが必要となっていますので、[こちらのサイト](https://uwsc.softonic.jp/)からダウンロードしておきましょう。

コマンドラインから Power Automate for desktopのフローが起動できるのを確認できたでしょうか？

##5. 6タスクスケジューラ及びWindowsの環境設定
私は[こちらのサイト](https://abundance-life.work/power-automate-desktop%EF%BC%88pad%EF%BC%89%E3%81%AE%E5%AE%9A%E6%9C%9F%E7%9A%84%E3%81%AA%E8%87%AA%E5%8B%95%E5%AE%9F%E8%A1%8C%E3%81%AE%E6%96%B9%E6%B3%95)の通りやっても、「スリープ状態のPCを起動して毎日定時に自動フローを実行する」というようなものはできなかったので、私がハマったポイントと解決策を載せておきます。

### ハマりポイント1「ユーザーがログオンしているかどうかに関わらず実行する」を選択すると実行されない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/84cd0e4d-436f-ce4d-21d7-af5ea90d5b3d.png)

いくつかのサイトを参考にして、「ログイン中のユーザーがMicrosoftアカウントの場合は違うアカウントを使う」等も試したのですがダメでした。
ちなみにこの「ログオン」というのは、PC起動時やスリープ解除の時にパスワードやPINを入力すると思いますが、その認証が終わり**デスクトップが表示された状態**が「ログオン」している状態です。
なのでここがうまくいかないと、「スリープモードで放置しているPCが夜中に勝手に起動してフローを実行してくれる」というのができないわけです。

なのでここは大人しく**「ユーザーがログオンしているときのみ実行する」**にしておきましょう。

### ハマりポイント2 スリープモード状態からタスクスケジューラが予定時刻になっても起動しない
ここも色々調べた結果、Windowsの環境設定が問題でした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/586b453d-72ac-72c9-11ac-c678c1e687f2.png)

「設定」⇒「電源とスリープ」⇒「電源の追加設定」⇒「コンピューターがスリープ状態になる時間を変更」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/3b77000c-7058-d10f-07fd-e0cf33f75715.png)

「詳細な電源設定の変更」⇒「スリープ」⇒「スリープ解除タイマーの許可」を有効

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2320666/81f6c1c8-b8a0-f08c-070c-bae7ccb02467.png)

そして最後に
「設定」⇒「アカウント」⇒サインインオプション」⇒「サインインを求める」を常にオフ

ここで気付いた人は多いでしょう…そう、私は楽をするために…
**セキュリティを捨てました！**
なんということでしょう！誰でもパソコンを開けば認証無しに使えてしまいます！！
なのでこのやり方は推奨できません…
ここまでお付き合いいただいた皆様。大変申し訳ございません。
私はここで力尽きてしまいました。

#6. おわりに
長々と偉そうに綴ったわりに何とも不甲斐ない結果に終わった「就活サービスログイン自動化計画」。
特に「スリープ中のパソコンを起動してフローを実行させる」というのがかなりネックでしたね。
「パソコンを起動中に裏で就活サービスへのログイン自動化フローを実行させる」というのは調べてみると結構簡単そうでした。
このセキュリティ皆無の設定でいつまで続けるかは分かりませんが、せっかく「就活を少しでも楽にしたい！」という夢を叶えるために頑張ったので暫くはこのフローを実行させておこうと思います。

かなり長い記事になってしまいましたが、お付き合いくださり誠にありがとうございました！