【python】アンドロイドを使って、googleスプレッドシートに格納した、URLをwebdriverを使って自動で開きたい!~termuxとteamviewerとpydroid3とAppium~

はじめに

アンドロイドを使用して、pythonを実行させるために、「teamviewer」は必要はありませんが、PCからアンドロイドを操作できた方が便利なので、「teamviewer」をダウンロードしました。

PCからアンドロイドを操作するのは非常に難しいと思っていましたが、「teamviewer」を使用すれば、簡単に操作することができました。

ただ「teamviewer」でPCからアンドロイドを操作した後に、アンドロイドを直接触っていると、以下のような表示が出て、接続が勝手に切られてしまうのが、不便に感じました。

tiamviewer 個人


ちなみに、私はアンドロイドからPCを操作する場合、「Chrome Remote Desktop」を使用しています。非常に優秀で気に入っています。

google 遠隔操作 アンドロイド→PC

turmux

アンドロイドでpythonのプログラムを実行するために、初めに「termux」のアプリをインストールしました。

「Linux」の知識ないからか、pythonの実行環境は構築できましたが、ライブラリのインストールでエラーが起きやすく、結局インストールできませんでした。

また、「teamviewer」との相性が悪く(私だけかもしれませんが)PCの画面で「turmux」をアクティブにしても、すぐに文字を入力することができませんでした。10秒ぐらい待って、ようやくPCの画面から「turmux」を操作が可能になります。かなり致命的です。

「turmux」をpythonのプログラミングだけで使用するなら、pydroid3の方が良いと思いました。

pydroid3

アンドロイドで pythonを実行するための、アプリ。視覚的に操作しやすく、わかりやすいです。

ただ、ファイルのアップロードの方法がイマイチよくわかりませんでした。

webdriverを使用する際、「chromedriver」なら、以下のサイトで、
ChromeDriver 
「firefoxのwebdriber」なら、以下のサイトで
mozilla/geckodriver
ダウンロードすることができます。

PCでwebdriver を使用する際は、そのダウンロードしたファイルを解凍して、以下のようにpythonの作業ディレクトにアップロードすれば、 webdriver を使用することができます。

PCでwebdriver を使用する

ただ、 pydroid3ではダウンロードした、webdriverをアップロードする方法がわかりませんでした。

なので、 「jupyter notebook」 を使用して、ファイルをアップロードしました。

「jupyter notebook」 は「pydroid3」→「pip」→「QUICK INSTALL」より簡単にインストールできます。

起動方法は「terminal」を開いて「jupyter notebook」と入力し、実行するだけです。

「selenium」などのインストールは「pip」→「SEARCH LIBRARIES」よりライブラリ名を検索して、インストールボタンを押せば、簡単にインストールできました。

「turmux」 より全然使いやすいと思いました。

ただ、以下のように 「jupyter notebook」 より、webdriverに必要なファイルをアップロードして、PCと同じように、pythonのプログラムを実行してもうまく起動しません。

from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager
driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
driver.get('https://google.com')

「Value Error」が発生するので、ドライバーのバージョンが違うのだと思って、再度アップロードしてみたり、上記のコードを変更したりして、試行錯誤を繰り返しましたが、結局、pydroid3でwebdriverを開くことができませんでした。

Appium

「Appium」は「selenium」でスマートフォンアプリを操作するためのツールです。

結局

結局、アンドロイドを使用して、webdriverを自動で開くことができませんでした。「java」の知識も必要になるのかな?諦めました。すみません。

参考書籍
Selenium実践入門 ―― 自動化による継続的なブラウザテスト