RPAを使った業務の自動化に挑戦(前編)
1. はじめに
皆さん、おはこんばんにちは! SIer出身のエンジニア、みやもとです。
最近はKaggleで機械学習を学んでいましたが、AI技術は機械学習以外にも種々ありほかの技術も触っておきたいと考え、今回はそのうちのRPAを使って業務の自動化を進めていきたいと思います。
最近は様々な企業がRPAツールなるものを出しており、NTTが出しているWinActorやUiPathが出しているUiPathというRPAツールが日本国内で最も使用されているRPAツールではないでしょうか 。このどちらかのツールを使用すれば簡単に業務の自動化を行うことが可能となります。ですが今回は、ただRPAを使用して業務の自動化を行うことが目的ではなく、今後はその技術を使用して製品に組み込むことを目標としています。そのため、RPAツールを使用せずに業務を自動化するツールを自作していこうと思います。
2. PyAutoGuiとは
PyAutoGUIとは、Pythonでマウスとキーボードを制御して、他のアプリケーションとの対話を自動化することができるパッケージです。自動化にはこのPyAutoGUIだけではなくSeleniumという同じPythonを使用した自動化方法もあります。このSeleniumは、同じw2の技術者である森君がすでに自動化について記事を書いているので、今回はPyAutoGUIを使って業務の自動化を行っていこうと思います。
インストール
コマンドプロンプトで下記のコマンドを実行するとPyAutoGUIをインストールできます。pipコマンドはpythonをインストールしておかないといけないので、実行する前にPythonがインストールされているか確認してください。
pip install PyAutoGUI
サンプルコード実行
実際にPyAutoGUIに記載されているサンプルコードを実行したいと思います。
サンプルコードの処理としては、クリックしたままマウスが動いていく処理となっているので、ペイントを立ち上げてから実行すると下記のように勝手に四角が描画されるようになっています。
import pyautogui
distance = 200
while distance > 0:
pyautogui.drag(distance, 0, duration=0.5) # move right
distance -= 5
pyautogui.drag(0, distance, duration=0.5) # move down
pyautogui.drag(-distance, 0, duration=0.5) # move left
distance -= 5
pyautogui.drag(0, -distance, duration=0.5) # move up
3. 最後に
今回は短い記事となってしまいました。本来は前編と後編の二部構成にしようと考えていたのですが、如何せん自作のRPAツールを作るということもありどの技術を使おうか楽しみすぎて記事用のピクチャを取るのを忘れてしまいました。
そのため、この記事は前編、中編、後編の三部構成で行きたいと思います。中編ではElectronを使用してデスクトップアプリを作成していき、後編でPyAutoGUIとElectronを使ってRPAツールを作る様子を書いて行きたいと思います。