Python×業務効率化 Automagicaでブラウザを自動で動かしてみた
はじめに
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なんかで取得するのがおすすめ。
動作の様子
さいごに
総じて面白いツールだと思います。
まだまだたくさんの機能がついているので、試してみたいと思います。
Author And Source
この問題について(Python×業務効率化 Automagicaでブラウザを自動で動かしてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/k_mayo_beam/items/0dd5bc768a1f8dd421fc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .