RPA(Sikulix)でShopifyの管理画面の操作を自動化

RPAとは

ロボティックプロセスオートメーション(Robotic Process Automation)の略称がRPAです。RPAはこれまで人間がやってきた定型業務を、ルールに沿って落とし込むことで、自動化をすることができます。

RPAで出来ること

1.データの登録・転記

あらかじめ作成されたデータを他のアプリケーションに繰り返し入力するような作業です。人間が行うと面倒な作業ですが、RPAを使うことによりこの業務は機械に任せられます。

2. システムの管理

社内・社外のシステムに接続し、操作したり連携をするような作業です。

3. Webサイトからの情報収集

業務に必要なデータをWebサイトから集める作業です。RPAを使うことで、大量に高速で集めることができます。

4. 社内アプリ操作

メールの送信や、ワークフローの実行、特定条件での検索などの作業です。

5. 同一性チェック

顧客データをチェックすることや、異常値の検知、社内ルールに反していないかのチェックなどの作業です。RPAを使うことにより、チェックも自動化をすることができます。

上記している5つのようなものがRPAが得意とするようなものとなります。反対に非定形業務などはあまり向いていません。個別の判定が多い作業や、ルールが多い作業などです。しかしRPAとAIを連携させる事例もあります。

RPAと言ってもたくさんのツールがありますが。今回はSikulixという無料のソフトを使っていきます。

Sikulixの導入方法

はじめに

SikulixとはオープンソースのRPAツールです。Javaで開発されていますが、RPAのフローはPythonで書くことが可能です。今回はver2.0.5を使います。

インストール

私はこのサイトを参考にしながらインストールをしました。

https://qiita.com/cakipy/items/7ca97d43ff68b097ea23

まず下記のリンクからダウンロードします。

https://raiman.github.io/SikuliX1/downloads.html

ここから、SikulixのIDE
「Download the ready to use sikulixide-2.0.5.jar (SikuliX IDE for all systems)」と書かれているとこをクリックして「sikulixide-2.0.5.jar」をダウンロードします。
※今回はPythonで使用することを前提としています。

起動方法

インストール後起動をすると、「開発元が未確認のため開けません。」とアラートが出ると思います。

解決方法は、システム環境設定からセキュリティとプライバシの一般から設定を変更してください

はじめに鍵マークをクリックして、自分のパスワードを入力してください。入力後に設定の変更が可能となります。次に実行許可を「App Storeと確認済みの開発元からのアプリケーションを許可」に変更してください。

適当な位置にファイルを配置して再度起動すると、許可を求められるので許可することで起動をすることができます。

また、起動するときの注意点として、ファイルから直接ダブルクリックで起動するのではなく、ターミナル上で

java -jar /Users/配置しているパス/Sikulix/sikulixide-2.0.5.jar

と書き実行をしてください。こうしないと画像認識に使うスクリーンショットなどで画像を読み込まずうまく動作しません!!

Sikulixを実際に使ってみる

基本コマンド集

https://inkoblog.com/sikulix-base-command-3/

https://auto-worker.com/blog/?p=81

上記のようなサイトで私は使っていました。Pythonで使う条件分岐やループなどももちろん使えます。上記のコマンド以外もあると思うので、自分で調べてみて使いこなしてください。

click(画像)で画面上をクリック。ここでの画像は「スクリーンショットをとる」か「画像を挿入する」から入れます。ディフォルトの設定では画像の中心をクリックすることになっています。

また画像をクリックすることにより、詳細の設定をすることができます。

マッチングプレビュー

画像認識の精度を変えることができます。適度なパーセントにすることにより精度が増します。私はこの設定を使えるようになってから、精度が上がりました。しかし使い方を誤るとエラーが増えてしまいます。

・精度が低すぎる例

認識させたい場所以外をたくさん読み取ってしまうため誤作動を招いてしまいます。

・精度が高すぎる例

精度を高め過ぎており認識してほしいところまで読み取れていません。これでは該当する画像がないというエラーになってしまいます。

このように程度な数値に設定することにより、読み込ませていところだけを認識させることができます。その数値に設定したいときは下のグラフを動かし、Applyで適応させOKをクリックします。

ターゲットオフセット

この設定により十字カーソルの交点をクリックするように設定を変更できます。適応方法はマッチングプレビューと同じです。

この設定を行なっておく事で、近くに別のリンクなどがある場合などの時に誤作動を減らすことができます。また、その画像の中で、真ん中だけでなく他の場所もクリック出来るようになるため、大変便利な設定です。画像を広く撮り、精度を適当な数値に設定後ターゲットオフセットで、クリックする場所を設定するという使い方がおすすめです。なので、マッチングプレビューと合わせて使うことで画像認識やプログラムの精度がグンと上がります。

使用例

    想定
    • Shopifyにてデータ移行する際データの項目などが違うためインポートできない
    • データさえ入っていればその部分に上書きで後から書き換えられる
    • 150個のデータを適当な数値を使い入れていてほしい

手入力でやれないことは、ありませんが、かなり大変な作業です。

そこで!!
RPAの出番です!!

👇 実際に作って、実行して見ました。👇

※このサイトは何にも関係ない私がテスト用に作ったデータです。
※ターゲットオフセットの設定などがどこに設定されどの部分の画像を認識しているか視覚的に捉えれるようにしています。

これで自動で10個のデータが入りました。しかもコード自体はたったのこれだけです。

これで、テストのために手入力で地獄を見ずに済むようになります。アイディア1つで可能性が広がるRPAをどんどん利用して、効率よく生きていきましょう!!これはテストで仮想の状況で行いましたが、実際に、shopifyから楽天へのデータ移行も同じ要領ですることができました!

適当な文字を入力項目に入れて、とりあえずデータさえ入ればいい単純作業

これにより手入力せずに見事に効率を上げることができました。ぜひみなさんもいろんなものに使って見てください。

まとめ

今回Sikulixの基本的な使い方を紹介しました。この使い方だけでもマスターすると単純な作業は自動化させることができます。私もこの使い方だけで、データの転記を行いました。またSikulixはRPAのフリーソフトですが、Sikulixだけでなく他のソフト、ツールもたくさんあるので、ぜひほかのRPAツールについても調べてみて、触ってみてください。

RPAツール比較のサイト

https://blog.keihi.com/2368

RPAツール比較14選!何をどう利用すればいいのか?選び方も紹介

https://www.aspicjapan.org/asu/article/4242

【2022年】RPAツール比較18選!おすすめサービスの価格や機能の比較表も

https://boxil.jp/mag/a2909/

【参考動画】Sikuli Xの基本的な使い方~まず動かしてみよう~