RPA(UiPath・Power Automate Desktop)・Python。e-Taxへのログイン自動化の比較。

RPAのUiPath・Power Automate DesktopそしてPythonを比較してみました。

※UiPath、Power Automate Desktop、Pythonの画面 by Sony α7S +70-200mmF4

 

UiPathでe-Taxログイン自動化

「ブラウザの操作の自動化」といえば、RPA・Pythonを使う方法があります。
(Excelマクロでもできなくはありませんが)

その自動化の方法を比較してみました。
事例は、
・ブラウザでe-Taxサイトを開く
・ID(4つ)を入力
・パスワードを入力
・ログインボタンをクリック
というものです。

それぞれの方法のメリット・デメリットと合わせて解説していきます。

まずは、RPAのUiPath。
小規模(年間5億円未満)なら無料で使えます。

今回の事例をUiPathで表現したもの。

 

 

・ブラウザでe-Taxサイトを開く
・ID(4つ)を入力
・パスワードを入力
・ログインボタンをクリック
という操作をしてそれを記録しただけです。
基本的には、これだけで自動化できます。

もちろん、この記録に手を加えることも可能です。
これだけ見ても、なんとなく伝わるのではないでしょうか。

このわかりやすさが、UiPathの魅力です。

自動化の方法

自動化するには、操作を記録(ウェブレコーディング)という機能を使います。

UiPathを起動し、[新規プロジェクト]の[プロセス]をクリック、

目的とするサイトをブラウザ(Chrome)で開いておき、UiPathで[レコーディング]→[Web]を選びます。

 

UiPathのWebレコーディング機能を使えるようになるので、まず[ブラウザーを開く]で、

該当のサイトを開いたGoogle Choromeをクリックし、URLを読み取ります。

次に[記録]をクリックし、その後の操作を記録していくのです。

 

ID(利用者識別番号)はこのように入れていきます。

この記録が終われば、前述したプログラムができ、それを実行すれば、このログインを自動的にできるのです。

見た目のわかりやすさがUiPathの魅力。
同じRPAのPower Automate Desktopと比べても見やすくメンテナンスしやすいです。

デメリットは、
・フォルダ+複数のファイル管理になる(私は好きではない)
・Power Automate Desktop、Pythonと比べると処理が重い
・最近は減りましたが、大幅な変更がある
・Macでは使えない
・無料バージョンだと、UiPath実行中に他の操作ができない
といったものがあります。

ファイルを共有するなら、DropboxやOneDriveなどクラウドに保管しておくといいでしょう。

 

処理は重めです。

ここでご紹介したのは、UiPath Studioというもの。
よりシンプルなUiPath Studio Xもあります。
ただ、これらの違いが大きく混乱の種になることも。
Studio Xだとできないこともあるので、その使い分けは難しいものです。

設定

UiPathの設定には次のようなことが必要です。

・UiPathのダウンロード、インストール
・Chrome拡張機能のインストール

 

Power Automate Desktopでe-Taxログイン自動化

Power Automate Desktopは、Microsoftが提供するRPA。
完成したプログラムはこのようなものです。
このPower Automate Desktopも、UiPathと同様に、操作を記録してつくることができます。

 

自動化の方法

該当のサイトを開いて、Power Automate Desktopの[Webレコーダー]をクリックし、

[記録の開始]をクリックし、記録を始めます。

 

その後の操作を覚えてくれるわけです。

つくったプログラムはこのようにクラウドに保存され、違うパソコンでも同じように使えます。

処理が軽いのもメリット。
Windows11だと標準アプリとして最初から入っていて、インストールの必要がありません。

 

デメリットは、プログラムのみづらさ。
UiPathと比べると、あとから見直しにくいです。
整理することもできますが。

UiPathと同様、Macでは使えません、
Power Automate Desktopと「Desktop」がついているので、このクラウド版が出るといいなぁと思っています。

  設定

Power Automate Desktopの設定は、Windows11以外だと
・ソフトのダウンロード、インストール
・Chromeの拡張機能のインストール
が必要です。

Pythonでe-Taxログイン自動化

Pythonは、RPAと違い、がっつり入力しなければいけません。
このように。

 

 

RPAより敷居は確実に高いです。

自動化の方法

Pythonではこう書きます。

#ライブラリ
from selenium import webdriver
import time
import chromedriver_binary

#■設定
url='https://clientweb.e-tax.nta.go.jp/UF_WEB/WP000/FCSE00001/SE00S010SCR.do'#サイト
id1='1111' #ID
id2='1111' #ID
id3='1111' #ID
id4='1111' #ID
password='11111111' #パスワード

extension_path = r'C:\Users\info0\AppData\Local\Google\Chrome\User Data\Default\Extensions\hopiajgbpnepghlkfmdonpgdnmcajpeb\2.0.1.0_0'
 
options = webdriver.ChromeOptions()
options.add_argument(
    f'load-extension={extension_path}')
 


#サイトにアクセス
driver = webdriver.Chrome(options=options)
driver.get(url)

time.sleep(1)#待機


#ログイン
driver.find_element_by_xpath('//*[@id="dijit_layout_ContentPane_2"]/div[4]/a/img').click()
time.sleep(3)


##ID
driver.find_element_by_xpath('//*[@id="maskat_widget_dojo_43"]').send_keys(id1)
driver.find_element_by_xpath('//*[@id="maskat_widget_dojo_44"]').send_keys(id2)
driver.find_element_by_xpath('//*[@id="maskat_widget_dojo_45"]').send_keys(id3)
driver.find_element_by_xpath('//*[@id="maskat_widget_dojo_46"]').send_keys(id4)

##パスワード
driver.find_element_by_xpath('//*[@id="maskat_widget_dojo_55"]').send_keys(password)

##ログインボタン
login_button=driver.find_element_by_xpath('//*[@id="maskat_widget_dojo_30"]/div[2]/div[12]/a/img')
time.sleep(1)
login_button.click()



今回の事例、e-Taxでは、Pythonだとちょっと問題があります。
Chromeには拡張機能というものがあり、e-Taxでも必須なのです。

この拡張機能を一度インストールしておけば、Chromeを立ち上げたときに、使えるようになります。
ただ、PythonだとChromeを立ち上げるときに、拡張機能がオフになるのです。
(まったく新規で立ち上げるので)
Pythonでe-Taxにログインするなら拡張機能をオンにするという処理をしなければいけません。
通常なら、ChromeではなくEdgeを使うと、Pythonを書くのがかなり楽になりますが、今回の記事だとChromeの自動化なので……。

Pythonのコードを解説します。
まず、ライブラリといわれる機能を読み込みます。


この前提として、Windows Power Shellsで、インストールが必要です。

pip install selenium

pip install chromedriver-binary==94.0.4606.61
→こっちのほうは、Chromeのバージョンと合わせましょう。
記事執筆現在だと94.0.4606.61です。

次に、サクセスするサイトのURL、ID、パスワードを設定します。

Chromeの拡張機能を読み込む部分です。
この赤い部分は、拡張機能が保存されている場所。
拡張機能、パソコンごとに違います。

Chromeの拡張機能一覧から[詳細]をクリックし、

IDを確認します。

 

そして、パソコンのユーザー→(ユーザー名)→AppData→Local→Google→Chrome→User Data→Defult→Extensionsで、先ほどのIDと同じフォルダを探しましょう。

見つけたらさらにクリックし、このmanifest.jsonがあるフォルダ(manifest.jsom自体ではありません)のパスをコピーします。

これを貼り付けるわけです。
こうすれば、拡張機能をオンにでき、e-Taxを使えます。
頭のrは、rawという意味で、エラーを防ぐためのものと考えていただければ。

そして、ようやくサイトにアクセスし、

ログインボタンのクリック→ID→パスワード→ログインボタンという処理をします。

入力やボタンの場所は、このようにChromeで右クリックして[検証]をクリックし、コピーしなければいけません。

このようにPythonは、2つのRPAよりも複雑です。
・ライブラリ(追加機能)のインストール、アップデートが必要
・Chromeのバージョンにより、再度設定が必要(ChromeDriver)
・1文字でも間違えたら、エラーまたは正常に処理できない
などといったデメリットもあります。

ただ、その一方で、
・処理が軽い
・Macでも使える
・プログラミングが理解できる、応用が効く
というのはメリットです。

Pythonは、生粋のプログラミング言語。
これを書くのは大変ですが、得るものも大きいです。

RPAは手軽にできる一方、危惧もあります。
なんだかんだプログラミングの理解は必要です。
今回の事例だと手軽につくれますが、操作の記録だけではなく、ちょっとしたコードを書く必要があります。
・エラーが出た、うまく動かないときの対処
・繰り返しの処理
・条件分岐(条件によって処理を分ける)
といったことにもプログラミングの知識は欠かせません。

RPAをやるとしても、プログラミング(PythonやExcelマクロなど)は学んでおくべきです。
どちらが先でもかまいませんし、同時でもかまいません。

『税理士のためのRPA入門』に「かんたん」と書かなかった理由

私は、軽さ、汎用性の高さ、Macでも使えることから、最近はPythonを好んで使っています。
拡張機能の件は大変ですけどね。
部分的にコピペして使いやすいのもPythonの魅力です。
RPAだと、そこがやりにくいこともあります。

設定

Pythonの設定では、
・Pythonのダウンロード、インストール
・ライブラリのインストール、アップデート
が必要です。

 

 

UiPath、Power Automate Desktop、Python。
ざっくり比較して表にするとこんな感じです。

UiPathPower Automate DesktopPython
利用料小規模なら無料無料無料
インストール必要必要(※)必要
アップデートの手間
自動化の方法操作記録+コード操作記録+コードコード
自動化のしやすさ◯(一定のものを除く)◯(一定のものを除く)
プログラムの見やすさ見やすい。ただ、量が増えるとつらいちょっと見づらい見やすくできる
Mac
プログラミングスキルアップ
処理の軽さ
汎用性
エラーチェックのわかりやすさ
データ共有別途クラウド別途クラウド

自動化の参考にしていただければ。

 

 

 



■編集後記
昨日は、午後にポートレート撮影。
屋外で3名の方と話しながら撮影しました。
その後、整体でメンテナンス。
背中がバキバキでした。

右脚解禁2日目、だいぶ普通に歩けるようになっています。
階段のくだりがちょっとつらいくらいです。

1日1新Kindle『1日1新』Instagram『1日1新』
とある方のポートレート撮影
渋谷TOEI

■娘(4歳7ヶ月)日記→Kindle『娘日記』
プリキュアの映画の前売り券を買いに。
特典付きは、上映している映画館に行かないと買えないので渋谷へ。
無事買えました。
保育園後は服を買いに。
パパもジャケットを。
試着の姿を見て「なんか仕事に行くみたい〜」と。
日々仕事しているんですけど……
「蝶ネクタイもして」と言ってました。