LoginSignup
0
0

More than 3 years have passed since last update.

JSとChrome拡張機能で出退を自動化

Last updated at Posted at 2021-03-19

スマレジタイムカードにて
出退の自動化を目指しました。
Inkedsyutai_LI.jpg

各ボタンをJSを使って自動でクリックして、
毎朝、毎夕の業務をショートカットします。

JavaScript

JS
const code = '○○_2_○_○○_83_6b_○_6b&se=1&sf=○';
const pin = '0000';// pinを入力 デフォルトの場合は0000

const URL_before = 'https://timecard1.smaregi.jp/shift_stamps/pin?def=' + code;

//smaregi 出退
const URL = 'https://timecard1.smaregi.jp/shift_stamps?def=' + code;//タイムカードログインのURL
const start_work_time = 9;//始業時間
const end_work_time = 18;//終業時間

if(location.href == URL_before){
    window.setTimeout(function(){
        document.getElementById('pinCertify').value = pin;
        document.getElementById('submit').click();
    },3000);
}

if(location.href == URL){
    window.setTimeout(function(){
        //smaregi 出退
        // Dateオブジェクトを作成
        const date = new Date () ;

        // 各情報を取得
        const dayOfWeek = date.getDay() ;
        const dayOfWeekStr = [ "", "", "", "", "", "", "" ][dayOfWeek] ;

        const hour = date.getHours() ;

        if(dayOfWeekStr != '' && dayOfWeekStr != ''){// 平日であれば
            if(hour <= start_work_time && hour >= (start_work_time - 1)){// 8以上9以下 8・9のみ
                document.getElementById('start').getElementsByTagName("a")[0].click();
            }
            if(hour <= (end_work_time + 1) && hour >= end_work_time){// 18以上19以下 18・19のみ
                document.getElementById('end').getElementsByTagName("a")[0].click();
            }
        }
    }, 3000)
}

上記がコードです。
9時~18時の勤務を想定しているため、シフト勤務やフレックス勤務の場合は変更ください。

ScriptAutorunner

そしてJSを自動で実行してくれる拡張機能が以下です。

JSを画面開いたときに自動実行してくれるChromeの拡張機能:ScriptAutoRunner

拡張機能を追加したのち、

Inkedjs_LI.jpg

このようなオプション画面を開きます。
各『Script0』などの要素にJSのコードを入れて実行することができます。
特定のドメインで実行する場合は

link2.JPG

こちらを好きなURLに変えてください。

URL
//URL
timecard1.smaregi.jp

自動とは言いつつURLを開いた最初の一回のみ動くため、適宜リロードするなどして対応してください。

不具合ありましたらコメントください。。

これで、出退の業務自動化完了!(スマレジに限る……)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0