seleniumとRPA

今回は趣向を変えて、TIPS記事のようなものを作成していきたいと思います。
記念すべき第一回目の記事はseleniumとRPAと、ちょっとだけAIについて書いていきたいと思います。

IEのサポート終了

2022年6月でIEのサポートが終了し、各プログラム言語に公式ライブラリとして備わっていたHTMLdocumentを使ったIEでのwebページのクローリングや自動操作が不可能になってしまいました。(アンインストールしない限りIEを起動させること自体は可能ですが、セキュリティ上大変危険なため皆さんは決して継続利用なさらないようにお願いします。)

seleniumやRPAといったツールは、そんなwebページのクローリングや自動操作に必須となるツールとして、IEのサ終以前から注目されておりました。

seleniumとRPAの違い

この2つの大きな違いを語る前にそれぞれの言葉の意味をまとめてみました。

selenium
・webページの動作テスト用に作成されたライブラリの名称
・PythonやJava、VBAなどの言語で参照でき、コーディングによってChromeやEdge、Firefoxといったブラウザをコントロールして任意の作業や繰り返しの作業を実行する

RPA
・ロボティック・プロセス・オートメーションの略称で、PCでの仮想の労働者に業務を行わせる技術や機能の総称
・デスクトップ上の作業をRTAのエディタで記録して、繰り返し実行したり、条件分岐や定型フローを組み合わせて業務を実行させる

といった感じ。ざっと羅列しただけでも違いがわかると思いますが、先ず大きな違いは「seleniumはWebを自動操作する」で「RPAはWebに限らずPCの操作を自動操作できる」の点になります。

根本的な土俵の違い

上のまとめだけを見ると「だったら、RPAを覚えた方が業務幅が広がるじゃん!」と思われがちです。

確かにできる業務の幅でいったらその考え方になりますが、ここで両機能の1番目に載せた特徴の「webページの動作テスト用に作成されたライブラリの名称であることと、「PCでの仮想の労働者に業務を行わせる技術や機能の総称」 という違いがあることを説明していきます。

先ずseleniumはライブラリであるため、単体で開発環境を持つことはなく、既に修復しているプログラム言語から参照して使用することができます。つまりプログラム言語でseleniumという機能をスタートさせて、プログラム言語で指定した通りの動作を再現してブラウザをコントロールしています。

一方のRPAはほとんどの場合独自の開発環境やソフトをインストールする必要があり、記述やフローチャートを勉強する必要があります。この・については既に修復している言語が有るか否かで選択肢が別れる点かと思いますが、RPAのほとんどは自分が操作したログをプログラム言語化して記録し、その操作を繰り返すことで自動化しております。

上記で説明しただけでも、「seleniumは記述したプログラムを動作にする」事と「RPAは動作を記録してプログラム化する」という決定的な違いが解っていただけると思いす。この点については真逆の性質を持っていると言えます。

結局どっちが便利なの??

決定的に真逆の性質を持っているとなると、どっちを使ったらいいの?という疑問が生まれてくると思います。
適材適所としか言いようのない部分かもしれませし、これに関しては永遠の議題だと思っています。

個人的な意見としては、この議題の明暗を分けるのが、タイトルに記載したAI分野の技術だと考えています。chatGPTの登場によってコーディングの精度や環境構築スピードが格段に上がったと感じる技術者は多い事でしょう。

現在無料版のGPTでさえ「PythonでSeleniumを使ったコードを作成して」とトークしてみると、かなりの精度でコードをジェネレートすることが出来てしまいます。プログラム言語にちょっと疎くてもこれだけでseleniumはとっかかりが作れてしまいます。

一方で「●●のソフトを自動化する為にどんなRPAソフトを導入すればいい?」とGPT聞いた場合も、高確率で意図している通りの機能が備わった環境が提供される事でしょう。こちらに関しても少しの手間でとっかかりが作れると思います。

そこから先は使用する技術者の腕次第になりますが、それをサポートするAIの学習幅、解決能力は今のところseleniumに軍配が上がっているように思います。単純にGPT君のコーディングスキルがめちゃくちゃ高いので、コードから機能を作成するseleniumとの相性が良く、RPAのように明確な答えがない物の案内が苦手なような気がしています。

しかし、今後のGPTのVer4やその先の技術の能力によっては、その環境やパワーバランスはすぐに覆ってしまうんじゃないかなと私は考えております。

まとまりのない記事となってしまいましたが、seleniumとRPAの決定的な違いと、AIとの相性について参考になればと思います。

この記事を書いた人

ユウスケ