FirefoxとSeleniumを使用しPythonでブラウザの自動化を実行する

FirefoxとSeleniumを使用しPythonでブラウザの自動化を実行してみます。

なお、SeleniumモジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。

また、Firefoxを事前にインストールしておく必要があります。今回はバージョン 84.0.1 (64 ビット)を使用しています。インストールせずにスクリプトを実行すると「selenium.common.exceptions.SessionNotCreatedException: Message: Expected browser binary location, but unable to find binary in default location, no ‘moz:firefoxOptions.binary’ capability provided, and no binary flag set on the command line」というエラーが発生します。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■GeckoDriverのダウンロード・インストール

Firefoxを制御するためには、GeckoDriverのインストールが必要です。インストールはこちらから行います(https://github.com/mozilla/geckodriver)。インストールせず、もしくはGeckoDriverを指定せずにスクリプトを実行すると「selenium.common.exceptions.WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.」というエラーが発生します。

Webページ(https://github.com/mozilla/geckodriver)にアクセスすると、「Downloads」という項目がありますので、その中の「Releases」をクリックします。

クリックすると、GeckoDriverの最新バージョン(今回は、Release 0.28.0)のページに移動します。ページ下に「Assets」の項目がありますので、今回はWindows10(64bit)にGeckoDriverをインストールするために、「geckodriver-v0.28.0-win64.zip」の項目をクリックします。

クリックすると、Webブラウザで指定されているファイルの保存場所に「geckodriver-v0.28.0-win64.zip」というファイルがダウンロードされます。このファイルを解凍します。

解凍すると、フォルダ内に「geckodriver.exe」というファイルが入っています。

このファイルを今回は「C:\Users\user(フォルダパス)」のディレクトリに移動させます。なお、移動したディレクトリはPythonのカレントディレクトリ(作業ディレクトリ)となります。

■FirefoxとSeleniumを使用しブラウザの自動化を実行する

移動後、これで準備は完了となりますので、FirefoxとSeleniumを使用しブラウザの自動化を実行するスクリプトを書いていきます。

■コード

from selenium import webdriver
 
driver = webdriver.Firefox()
driver.get("https://www.yahoo.co.jp/")

インポートでseleniumのwebdriverを呼び出して、driverという変数を作成し、その中にwebdriver.Firefox()と記述し、先ほどのGeckoDriverを格納します。

格納したGeckoDriverを使用し、driver.get()で指定したURLに自動的にアクセスし表示させます。今回はYahoo!Japan(https://www.yahoo.co.jp/)を指定しています。

■実行

今回のスクリプトを「firefox-automation.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、自動的にFirefoxが起動し、今回指定したURLにアクセスし、ページが表示されることを確認できました。

なお、Firefoxのアドレスバーの隣には、ロボットのアイコンが表示され、Firefoxが自動的に制御されていることを示しています。

コメント

タイトルとURLをコピーしました