RPA(Sikulix)でShopifyの管理画面の操作を自動化
RPAとは
ロボティックプロセスオートメーション(Robotic Process Automation)の略称がRPAです。RPAはこれまで人間がやってきた定型業務を、ルールに沿って落とし込むことで、自動化をすることができます。
RPAで出来ること
あらかじめ作成されたデータを他のアプリケーションに繰り返し入力するような作業です。人間が行うと面倒な作業ですが、RPAを使うことによりこの業務は機械に任せられます。
社内・社外のシステムに接続し、操作したり連携をするような作業です。
業務に必要なデータをWebサイトから集める作業です。RPAを使うことで、大量に高速で集めることができます。
メールの送信や、ワークフローの実行、特定条件での検索などの作業です。
顧客データをチェックすることや、異常値の検知、社内ルールに反していないかのチェックなどの作業です。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
起動方法
インストール後起動をすると、「開発元が未確認のため開けません。」とアラートが出ると思います。
解決方法は、システム環境設定からセキュリティとプライバシの一般から設定を変更してください
適当な位置にファイルを配置して再度起動すると、許可を求められるので許可することで起動をすることができます。
また、起動するときの注意点として、ファイルから直接ダブルクリックで起動するのではなく、ターミナル上で
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で使う条件分岐やループなどももちろん使えます。上記のコマンド以外もあると思うので、自分で調べてみて使いこなしてください。
また画像をクリックすることにより、詳細の設定をすることができます。
マッチングプレビュー
画像認識の精度を変えることができます。適度なパーセントにすることにより精度が増します。私はこの設定を使えるようになってから、精度が上がりました。しかし使い方を誤るとエラーが増えてしまいます。
認識させたい場所以外をたくさん読み取ってしまうため誤作動を招いてしまいます。
精度を高め過ぎており認識してほしいところまで読み取れていません。これでは該当する画像がないというエラーになってしまいます。
ターゲットオフセット
この設定を行なっておく事で、近くに別のリンクなどがある場合などの時に誤作動を減らすことができます。また、その画像の中で、真ん中だけでなく他の場所もクリック出来るようになるため、大変便利な設定です。画像を広く撮り、精度を適当な数値に設定後ターゲットオフセットで、クリックする場所を設定するという使い方がおすすめです。なので、マッチングプレビューと合わせて使うことで画像認識やプログラムの精度がグンと上がります。
使用例
- Shopifyにてデータ移行する際データの項目などが違うためインポートできない
- データさえ入っていればその部分に上書きで後から書き換えられる
- 150個のデータを適当な数値を使い入れていてほしい
手入力でやれないことは、ありませんが、かなり大変な作業です。
そこで!!RPAの出番です!!
👇 実際に作って、実行して見ました。👇
※このサイトは何にも関係ない私がテスト用に作ったデータです。
※ターゲットオフセットの設定などがどこに設定されどの部分の画像を認識しているか視覚的に捉えれるようにしています。
これで自動で10個のデータが入りました。しかもコード自体はたったのこれだけです。
これで、テストのために手入力で地獄を見ずに済むようになります。アイディア1つで可能性が広がるRPAをどんどん利用して、効率よく生きていきましょう!!これはテストで仮想の状況で行いましたが、実際に、shopifyから楽天へのデータ移行も同じ要領ですることができました!
適当な文字を入力項目に入れて、とりあえずデータさえ入ればいい単純作業
これにより手入力せずに見事に効率を上げることができました。ぜひみなさんもいろんなものに使って見てください。
まとめ
今回Sikulixの基本的な使い方を紹介しました。この使い方だけでもマスターすると単純な作業は自動化させることができます。私もこの使い方だけで、データの転記を行いました。またSikulixはRPAのフリーソフトですが、Sikulixだけでなく他のソフト、ツールもたくさんあるので、ぜひほかのRPAツールについても調べてみて、触ってみてください。
RPAツール比較のサイト
RPAツール比較14選!何をどう利用すればいいのか?選び方も紹介
https://www.aspicjapan.org/asu/article/4242
【2022年】RPAツール比較18選!おすすめサービスの価格や機能の比較表も
【参考動画】Sikuli Xの基本的な使い方~まず動かしてみよう~