0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

暇なので『RPAツール』を作る #6 GUI編 ライブラリとの別れと出会い

Last updated at Posted at 2021-11-29

#はじめに
皆さん、大変お久しぶりです。enp(えん)です。最近、暇じゃなくなってきました。
この記事は『RPAツール』を作ろうとする人の進捗報告になります。
RPAやRPAツールの作り方が書いてあるものではございませんので、ご了承ください。(もしかしたら、ソースは少しだけ載せるかもしれません。気分次第です)
今回は私が抱えている問題とライブラリとの別れと出会いについてお話ししようと思います。(openpyxlは記事にするほどの内容になりませんでした......)
最後までお付き合いいただければ幸いです。

#ライブラリとの別れ
改めて皆さん、お久しぶりです。一年以上も更新をストップしてしまいました。
本当に久しぶりに記事を書いているので、今までどうやって記事を書いていたのか分からない状態です。
作文って難しいですよね。国語は一番苦手でした。
さて、私の国語力はどうでもよく、皆さんは__『なぜ更新が一年以上も止まってしまったのか?』が気になると思います。
大変申し訳なく思います。しかし、サボっていたわけではありません。
###大きな変更を余儀なくされました。
その大きな変更とは__ライブラリの変更__です。今まで使っていたライブラリを変えることにしました。
そのライブラリとは
『Kivy』と『selenium』__です。今まで学んでいたseleniumさんと涙の別れ。辛いものを感じます。
しかし、__seleniumを学んで見えてきたこと__ですので学習していた時間が全て無駄という訳ではありません。
それでは、なぜ二つのライブラリを変えることにしたのかお話していきます。

#Kivyとの別れ、そして出会い
まずは『Kivy』からお話していきます。
Kivyに関しては使い勝手が悪いなどの理由ではありません。
###ゲームエンジンの方が開発しやすそうだと思ったからです。
まず、RPAツールに必要なこと__を考えたとき、RPAを保存しなければならない__と思いました。
###保存と言えばMySQL!

と安直な結論を出そうと思いましたが、データベースにRPAを保存? と少々疑問__に思いました。
そこで、思いついたのが
ゲームのセーブ機能__です。
セーブ機能を応用すれば編集中のRPAだろうが、完成したRPAだろうが保存可能だと考えたわけです。
以上のような流れでゲームエンジンで開発しようと思いました。
あと、Kivyさんが日本語に弱いという理由も少しあったりします。気になる方は自分で調べてください。
###じゃあ、お前はゲームエンジン何使うん?

という話ですが、__使うのはUnrealEngine。__とても有名なゲームエンジンです。
Unityなどありましたが、公式の学習教材が無料というのがUnrealEngineに決めた大きな理由__です。
というわけで、これからはUnrealEngineを用いてGUIを含めた開発を行っていこうと思います。
しかし、これは__挑戦的な意味が大きいため、できなければKivyに戻ってくるかもしれません。

#seleniumとの別れ、そして出会い
次はseleniumさんについて話していこうと思います。
seleniumさんは今まで#3から#5まで主役を飾っていたライブラリです。
しかし、今回をもってお別れ。悲しい限りです。
その__理由としてはseleniumとセットで使うChromeDriverにあります。__
###彼を使うとメンテが大変なんじゃ!
ChromeDriverなどのseleniumとセットで使うドライバーは__ブラウザが更新された瞬間に使えなくなります。__
__ドライバー自身も更新が必要__になり、同じドライバーを使い続けるということが出来ません。
さて、ここで少し考える時間です。
seleniumを使ってアプリを開発し、配布したとします。
しかし、そのアプリはブラウザが更新された瞬間に使い物にならなくなる。
###単純に使い勝手が悪くない?
そういう事です。
アプリを使い続けたいと思うのなら、__ブラウザが更新するたびにアプリも更新するという作業が必要__になります。非常に面倒。
出来るなら、__ブラウザ更新に左右されないアプリケーションが望ましい__です。
そこで登場するのがMechanicalSoupさんです。
MechanicalSoupは__簡易的なブラウザを自ら生成、スクレイピングする優れもの__です。
これで、ブラウザ更新に怯える生活から解放されます。
しかし、MechanicalSoupを形作るものは主に以前紹介したBeautifulSoupとrequest。
任意のボタンを押してくれるのか非常に心配です。
MechanicalSoupについてもまだ試験的な段階にすぎません。

#最後に
はい。以上がKivyとseleniumと別れを告げた全貌です。
しかし、勝負はこれからです。
今からMechanicalSoupとUnrealEngineを学ばなければなりません。
私は__GUIがすこぶる苦手です。__そのため、今まで以上に学習で四苦八苦することが多くなるでしょう。
さて、次回からはGUIを使ったアプリケーション開発(仮)をやっていこうと思います。
題材としては番外編として紹介したモノをGUIにしていく感じです。
その中で問題個所も解決していく予定ですのでお楽しみに!
しかし、始まるのは私がUnrealEngineの使い方をある程度把握し、MechanicalSoupがボタンを押せると分かってからです。
そのため、更新がまた一年以上開くかもしれませんがご容赦ください。
最後までお付き合いいただき誠にありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?