Pythonでブラウザ操作を自動化しよう①(コード解説)

こんにちは。

おぎーです。

今回の記事では、前回の記事(Pythonでブラウザ操作を自動化しよう①)で紹介したコードの解説を行っていきたいと思います。

Pythonでブラウザ操作を自動化しよう①

前回の記事では、jupyter labを使用してGoogleの日本語ページの自動起動を試みました。

しかし、コードの紹介までは行いましたが、コードの解説は一切行っていませんでしたので、今回はコードの解説を行っていきたいと思います。

それでは行ってみましょう。

コード解説

まずは前回お示ししたコード全体を載せます。

まずはMacバージョンです。

#Macでのコード
!pip install selenium

from selenium import webdriver
import time
import pandas as pd

#Macでのコード
browser = webdriver.Chrome()
browser.implicitly_wait(3)

url_login = "https://www.google.com/?hl=ja"
browser.get(url_login)
time.sleep(3)
print("acsess_success")

続いてWindowsバージョン

#Windowsでのコード

!pip install selenium

from selenium import webdriver
import time
import pandas as pd
browser = webdriver.Chrome(executable_path = 'chromedriver.exeのファイルパス')
browser.implicitly_wait(3)

url_login = "https://www.google.com/?hl=ja"
browser.get(url_login)
time.sleep(3)
print("acsess_success")

ほとんど変わりませんので、説明はほぼ一緒に行っていきます。

それでは一番上の行から見ていきましょう。

seleniumのインストール

!pip install selenium

このコードは、seleniumをインストールするためのコードです。

seleniumについては前回の記事で紹介した通りです。

pipというのは、Pythonのパッケージを管理するツールです。

パッケージには、Pythonがオフィシャルに出しているものとサードパーティ製のものの2種類に分けられます。

サードパーティ製のライブラリは、簡単に言うと有志の方々が作製してくれた便利なパッケージと考えてもらえると、イメージがしやすいかと思います。

Pythonがオフィシャルに出しているものは、インストールしなくてもすでに入手済みであることがほとんどです。

しかし、サードパーティ製のものはモノが最初からインストールされていないものが多いので、別途インストールしてあげる必要があります。

サードパーティ製のものをインストールするときは、

installコマンドを使用してその次にパッケージの名前を入力します。

今回のseleniumはサードパーティ製のものなので、

pip install~と入力します。

覚えておいてください。

<補足>

それぞれ

Google Colaboratoryを使用している場合にはセル

Anacondaを使用している場合にはAnaconda Promptを起動し、ポップアップしたウィンドウ

へ、pip install~を入力することで追加でライブラリをインストールすることが出来ます。

重要なので、インストール方法を改めて確認しておきましょう!

ライブラリをインポートする

続いてはこちらの3行の説明をさせていただきます。

from selenium import webdriver
import time
import pandas as pd

1行目では、まずライブラリをインポートしています。

from モジュール名 import オブジェクト名

といった構文になっています。

この構文を使用することによって、モジュール名のところに入力したモジュール内のオブジェクトを、オブジェクト名のところに記すことによって指定することができます。

したがって、seleniumというモジュール内のwebdriverというオブジェクトをこの行以降で使用することができます。その際は、オブジェクト名のところに入力したオブジェクト名を記すようにします。存在しないオブジェクト名を使用したときは、nameerrorとなりますのでご注意ください。

次に、2行目でtimeをインポートします。

timeは、コンピュータの処理時間などを記録することができるライブラリです。

のちのちtimeをインポートしなければならない理由を述べます。

次に3行目では、pandasというライブラリをインポートします。

pandasはデータ解析をするときなどに使用するライブラリで、

じつは今回のGoogle日本語ページを開くだけといったタスクには必要のないライブラリでした。

今後必要となってくるライブラリであることは間違いないので覚えておいてください。

ファイルパスの指定・待機時間の設定

続いてはファイルパスを指定するコードと待機時間を設定するコードです。

MacとWindowsでコードが違いますが、Windowsの説明をすればMacの方は理解してもらえると信じてWindowsのみの説明をさせていただきます。

browser = webdriver.Chrome(executable_path = 'chromedriver.exeのファイルパス')
browser.implicitly_wait(3)

まず1行目から見ていきましょう。

ここでは、

chromedriver.exeが入っているパスを入力することで、自動操作できるようにしています。

2行目での、implicitly_waitというメソッドは、私たちが指定したドライバを見つけるまでの時間を決めています。

 

URLの指定

続いてはURLを指定します。

url_login = "https://www.google.com/?hl=ja"
browser.get(url_login)
time.sleep(3)
print("acsess_success")

まずは、url_loginという変数でURLを指定しています。

URLはGoogle日本語ページのものを指定しています。

2行目では指定したURLを読み込んでいます。

URLを読み込むbrowser.getという構文は暗記しておいても良いかもしれませんね。

続いて3行目では、time.sleepで引数を3と指定しています。

すなわち、3秒間の待機時間を設けています。

なぜこのようにするかというと、ブラウザでの読み込みスピードに合わせるためです。

実際に何かwebサイトを開こうとしたらロード中の画面が登場しますよね。

今回はその時間を3秒としました。

もしブラウザが読み込まれる前にコードが実行されてしまうと、エラーが吐き出されプログラムが止まってしまうので、time.sleepでコードの実行間隔をコントロールしてあげる癖をつけておくといいですね。

そして、最後の行でaccess_successと出力しています。

これが出力されるタイミングでGoogle日本語ページも開かれます。

最後に

今回は前回の記事のコード解説を行いました。

やっていることは極めてシンプルかと思います。

私たち人間がブラウザを開いた方が早いだろうという感想を抱くかもしれませんが、初心者としては、まずこのシンプル操作だけでも感動したいものです。

今後もしばらくseleniumについて記事を書いていきたいと思っています。

みなさんの参考になれば幸いです。

今回のコードは前回と同じなのでGitHubへのアップロードは行いません。

それではまた次回お会いしましょう。

おぎー

“Pythonでブラウザ操作を自動化しよう①(コード解説)” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。