#はじめに
Python×業務効率化の可能性を模索中のk_mayo_beamと申します。
今回はPythonでRPAできないかと探し回っていたら見つけたAutomagicaというライブラリの機能をほんの少しだけ触ってみます。
#Automagicaってなんだ?
簡単に言うと**PythonでRPAができるよ!**っていうライブラリだと思ってます。
公式のドキュメントは⇒こちら
Pythonには多数の便利なライブラリが準備されており、
比較的簡単にExcelやPDFを触ったり、WebUIの自動テストをしたり、
マウスやキーボードを自動で動かしたりできます。
ただ、統合的な自動化をしようとすると、
たくさんのライブラリをインポートするのがちょっとだけ面倒です。
AutomagicaはPyAutoGUI,Selenium,Tesseract,OpenPyXL,Beautiful Soupなどの
有名どころのライブラリをうまく連携させて、使いやすい関数群を提供してくれます。
#とりあえずインストールしてみる
コマンドはこちら↓
pip install https://github.com/OakwoodAI/automagica/tarball/master
依存関係があるライブラリがたくさんインストールされるので、気をつけて下さい。
#少しだけ触ってみる
今回はほんの3つの機能だけを使って、WEB操作を自動化してみます。
以下はChromeでQiitaを開いて、「Python×業務効率化」と検索して、ロゴをクリックするだけのプログラムです。
from automagica import ClickOnImage, ChromeBrowser, DisplayMessageBox
from retry import retry
#画像が見つかったらクリックする関数
@retry(delay=1)
def WaitAndClickImage(pic:str):
return ClickOnImage(pic)
#Qiitaの検索窓のxpath
xpath = '//*[@id="globalHeader"]/div/div[1]/form/input'
#検索する内容
content = 'python×業務効率化'
#ChromeでQiitaを開く
browser = ChromeBrowser()
browser.get('https://qiita.com/')
#検索窓を探して内容を検索する
browser.find_element_by_xpath(xpath).send_keys(content)
browser.find_element_by_xpath(xpath).submit()
#k_mayo_beamのロゴを探してクリックする
WaitAndClickImage('logo.png')
#やったぜ!
DisplayMessageBox("やったぜ!")
browser.close()
画像のクリックですが、スクリーンショットをとって画像マッチングをするようなので、画像のサイズに要注意です。
SnippingToolなんかで取得するのがおすすめ。
#さいごに
総じて面白いツールだと思います。
まだまだたくさんの機能がついているので、試してみたいと思います。