皆さん、こんばんは。
今回は、seleniumライブラリを使用し、ブラウザ操作について、ご紹介していきたいと思います。
■記事内目次
・インストール
・インポート
・ブラウザ起動
・サイト遷移
・ブラウザ終了
□インストール
Seleniumライブラリのインストールについてですが、以前の記事にすでにご紹介していますので、そちらもご確認いただければと思います。
◇新規ipynbファイルの作成
まず新規「ipynbファイル」を作成しましょう。
画面左上のMenuから「File」⇒「New」⇒「Notebook」を選択します。
その後、「Select kernel」で「Python 3」を選択します。
ファイルも名前を設定しましょう。
作成した「ipynb」ファイルのタブを右クリックから「Rename Notebook…」を選択します。
任意の名前を設定します。
私の場合、以下のように設定しました。
「Jupyterlab_Web_Operation」
◇seleniumライブラリインストール
Seleniumライブラリをインストールしていきます。
基本的には、一度インストールを実施していれば、再度インストールする必要は無いと思います。
今回は復習も兼ねてインストールを行います。
「!pip install selenium」と入力して、Shift+Enterで実行します。
すでにインストールされている場合は、以下のように表示されます。
□インポート
◇seleniumインポート
続いて、インストールしたSeleniumライブラリを使用できるようにインポートします。
「import selenium」と入力してインポートします。
◇Webdriverインポート
次は、Webdriverをインポートします。
こちらをインポートすることで、Webdriver(Chrome,Edge,FireFox)を使用することができます。
「from selenium import webdriver」と入力してインポートします。
◇Timeインポート
さらに、「Time」メソッドをインポートします。
こちらは、Webブラウザでサイト遷移、操作を行ったときなど、読み込み処理が発生した際など、
次の処理を待機することができます。
「import time」と入力してインポートします。
□ブラウザ起動
ブラウザ起動については、まず使用するブラウザ(driver)を選定しましょう。
当サイトでは、過去記事でChrome,Edge,FireFoxの各driverを設定しました。
driverのパス等設定については、以下記事をご覧ください。
今回は、Chrome driverを使用していきたいと思います。
◇driverのパス設定、ブラウザ起動
driverのパス設定では、「excutable」を使用します。
以下のように記述し、「Chromedriver」と変数(左側)設定します。
driverのパスを変数設定しておくことで、記述が楽になります。
記述は以下のように設定します。
「Chromedriver=webdriver.Chrome(executable_path=”C:\\Users\\sinsu\\WebDrivers\\ChromeDriver\\Ver89\\chromedriver.exe”)」
Shift+Enterで実行すると、ChromeDriverも起動します。
□サイト遷移
ブラウザ(driver)が起動したので、次はサイト遷移を行っていきます。
◇Windowサイズ最大化
ブラウザ表示後、Windowサイズを最大化しましょう。
サイトによっては、Windowサイズで、レスポンシブにより、モバイル表示になったりします。
基本的には、Windowサイズを最大化して表示するのがベストだと私は考えます。
Windowの最大化は、以下のように表記します。
Chromedriver.maximize_window()
shift+Enterで実行します。
ブラウザ(Driver)の表示が最大表示となったと思います。
◇サイト遷移
サイトに遷移しましょう。
今回は、当ブログのテストページに遷移したいと思います。
https://susakiworks.com/softwareesting/testpage/
こちらは、随時更新していきますので、テスト自動化などで、ご自由に使用していただいて構いません。
サイトに遷移する場合は、以下のように記述します。
Test_page = “https://susakiworks.com/category/testpage/”
Chromedriver.get(Test_page)
time.sleep(3)
上記テストページを「Test_page」と変数に設定し、getメソッドを使用して「Test_page」に遷移します。
遷移後は、「time」メソッドを使用して、待機処理を行います。
待機時間は、「time.sleep(3)」と記述した()内を秒指定することができます。
今回は「3秒」待機するように設定しました。
Shift+Enterで実行すると、以下のように表示されます。
続いて、同じように、別のページに遷移してみましょう。
次に遷移するページも、同様に記述します。
次のページは、テストページ「No1」へ遷移したいと思います。
記述は以下のように記載します。
Test_page01 = “https://susakiworks.com/testwork/testpage/test_page_no1/”
Chromedriver.get(Test_page01)
time.sleep(3)
Shift+Enterで実行し、以下のように表示されればOKです。
□ブラウザ終了(ブラウザを閉じる)
◇ブラウザ終了
最後に、ブラウザ(driver)を終了させます。
終了する(ブラウザを閉じる)場合は、以下のように記述します。
Chromedriver.close()
Shift+Enterで実行し、ブラウザ(driver)が終了すればOKです。
◇JupyterLabの終了
JupyterLabを終了させる場合は、「ipynb」ファイルを保存後、シャットダウンさせます。
File⇒Save Notebook、またはSave All後、「Shut Down」を選択します。
「Server stopped」と表示されればOKです。
■最後に
今回は、Seleniumライブラリのインストール、インポート、ブラウザ起動、ブラウザ遷移、ブラウザ終了についてご紹介いたしました。
次回もWeb操作について、ご紹介していきたいと思います。
最後まで見て頂き、ありがとうございました。
サイトトップへ
https://susakiworks.com/
Selenium実践入門 ――自動化による継続的なブラウザテスト WEB+DB PRESS plus
Pythonをおぼえたらブラウザ操作を自動化しよう: Seleniumで操作してBeautifulSoupで解析をする