1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RPAソフト不要!ブックマークレットで作業を自動化

Last updated at Posted at 2024-05-12

概要

  • ブックマークレットを用いて、RPA Challengeの入力作業を自動化するコードです。以下の動画で使われているものです。

実行環境

  • Windows11

注意点

  • プログラムの実行については、すべて自己責任で行ってください。実行により発生した、いかなる直接的または間接的被害について、作者はその責任を負いません。

結果

  • 待機処理ありバージョンの実行結果は以下のとおりでした。

image.png

コード

待機処理なし

(function(){
    var employees = [
        // 各値を配列として入力する。    
        {
            : '',
            : '',
            会社名: '',
            部署: '',
            住所: '',
            メールアドレス: '',
            電話番号: ''
        },


    ];

    // class属性が"waves-effect col s12 m12 l12 btn-large uiColorButton"であるボタンを取得します。
    var button = document.querySelector('.waves-effect.col.s12.m12.l12.btn-large.uiColorButton');
    button.click();

    // 従業員の数だけループ
    for (var i = 0; i < employees.length; i++) {
        var employee = employees[i];

        // 各要素に対応する値を入力する
        document.querySelector('[ng-reflect-name="labelEmail"]').value = employee.メールアドレス;
        document.querySelector('[ng-reflect-name="labelLastName"]').value = employee.;
        document.querySelector('[ng-reflect-name="labelPhone"]').value = employee.電話番号;
        document.querySelector('[ng-reflect-name="labelCompanyName"]').value = employee.会社名;
        document.querySelector('[ng-reflect-name="labelAddress"]').value = employee.住所;
        document.querySelector('[ng-reflect-name="labelFirstName"]').value = employee.;
        document.querySelector('[ng-reflect-name="labelRole"]').value = employee.部署;

        // class属性が"btn uiColorButton"であるボタンを取得します。
        var button = document.querySelector('.btn.uiColorButton');

        // ボタンをクリックします。
        button.click();
    }
})();

待機処理あり
(async function(){
    var employees = [
        // 各値を配列として入力する。    
        {
            : '',
            : '',
            会社名: '',
            部署: '',
            住所: '',
            メールアドレス: '',
            電話番号: ''
        },


    ];

    // class属性が"waves-effect col s12 m12 l12 btn-large uiColorButton"であるボタンを取得します。
    var button = document.querySelector('.waves-effect.col.s12.m12.l12.btn-large.uiColorButton');
    button.click();

    // 遅延を加える関数を定義します。
    function delay(ms) {
        return new Promise(resolve => setTimeout(resolve, ms));
    }

    // 従業員の数だけループ
    for (var i = 0; i < employees.length; i++) {
        var employee = employees[i];

        // 各要素に対応する値を入力する
        document.querySelector('[ng-reflect-name="labelEmail"]').value = employee.メールアドレス;
        await delay(100); // 0.1秒待機

        document.querySelector('[ng-reflect-name="labelLastName"]').value = employee.;
        await delay(100); // 0.1秒待機

        document.querySelector('[ng-reflect-name="labelPhone"]').value = employee.電話番号;
        await delay(100); // 0.1秒待機

        document.querySelector('[ng-reflect-name="labelCompanyName"]').value = employee.会社名;
        await delay(100); // 0.1秒待機

        document.querySelector('[ng-reflect-name="labelAddress"]').value = employee.住所;
        await delay(100); // 0.1秒待機

        document.querySelector('[ng-reflect-name="labelFirstName"]').value = employee.;
        await delay(100); // 0.1秒待機

        document.querySelector('[ng-reflect-name="labelRole"]').value = employee.部署;
        await delay(100); // 0.1秒待機

        // class属性が"btn uiColorButton"であるボタンを取得します。
        var button = document.querySelector('.btn.uiColorButton');

        // ボタンをクリックします。
        button.click();

        await delay(100); // 次の入力前に0.1秒待機
    }
})();

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?