はじめに
この記事は ジーズアカデミー Advent Calendar 2017 の9日目です。
最近、何故か業務効率化のシステム自動化に興味津々です。
なので、業務中に困ったことをシステム化しようと思います!
最近、困っていること
ジョブカンの勤怠入力忘れ
が激しいことです(汗)
勤怠入力漏れは人事に迷惑をかけてしまうので、入力チェック自動化プログラムを作成していきます!
作成したプログラムはこちら
※注1)ジョブカンは勤怠管理を行う上で非常に便利なサービスです。
※注2)入力漏れを行うのは僕がボケているだけです。
作成手順
ジョブカンAPIを調べてみたら、APIは存しなかったので、Seleniumを用いて、自動化していきます!
Seleniumとは
Googleが開発したWebアプリケーションテスト用 フレームワークです。
(Pythonの他にはruby、Javaなど様々な言語に対応してます!)
処理フロー(概要)
今回の流れは以下の4つの手順にわけてプログラムを作成しました。
といっても、通常の人が使うブラウザ操作をプログラムに置き換えただけなんで処理フローは把握し易いと思います!
1.setup
selenium setupを行います!
今回はヘッドレスブラウザ(ブラウザを立ち上げず、メモリ上でブラウザ操作)を利用しました!
2.page取得
TOPページにアクセス!
3.ログイン
通常のログインのようにID、パスワードを入力します。
Seleniumのmethod find_element~
でCSS属性を特定して、send_keys
でフォームに値を入力すると、
ログイン後のページに遷移します!
ちなみにスクリーンショットを取るのは save_screenshot
で出来ます。
ログインページ
ログイン後のページ
4.勤怠データ取得
htmlパースは ライブラリ beautiful soup
を使いました!
取得した値を標準出力!
最後に
slackやLambda
連携させたらもっと効率化出来るな〜と思いました。
本日は以上です!