はじめに
Pythonでスクレイピングや自動操作をしていると、「ページを再読み込みしたい(リロードしたい)」という場面があります。
特に、「定時になったらリロードして最新情報を取得する」や「再読み込み後にボタンをクリックする」といった用途で役立ちます。
本記事では、PythonとSeleniumを使ってWebページを自動でリロードする方法をご紹介いたします。
使用した前提環境
今回使用したのは以下のライブラリです:
- selenium
- webdriver-manager(ChromeDriverの自動管理のため)
環境によっては、事前に以下のようにインストールしておく必要があります。
pip install selenium webdriver-manager
サンプルコード:Googleページを開いてリロード
以下は、Googleのトップページを開いて数秒後にリロードするコードです。
from webdriver_manager.chrome import ChromeDriverManager
from selenium import webdriver
import time
browser = webdriver.Chrome(ChromeDriverManager().install())
browser.implicitly_wait(3)
url_login = 'https://google.co.jp'
browser.get(url_login)
time.sleep(3)
browser.refresh()
各行の解説
1〜3行目:必要なライブラリのインポート
webdriver_manager
は、ChromeDriverのバージョンを自動で管理してくれます。selenium.webdriver
はブラウザの操作そのものに使用します。time
モジュールは待機処理に使います。
4〜5行目:ブラウザの起動
browser = webdriver.Chrome(ChromeDriverManager().install())
browser.implicitly_wait(3)
Chromeブラウザを起動し、要素の読み込みを最大3秒まで待機する設定を行っています。
6〜8行目:URLにアクセスして一定時間待機
url_login = 'https://google.co.jp'
browser.get(url_login)
time.sleep(3)
Googleのトップページにアクセスし、3秒間待機します。待機処理は、ページの読み込みや表示の安定化のために入れています。
9行目:ページをリロードする
browser.refresh()
この一行で、現在表示されているページを再読み込みします。
Seleniumでは、refresh()
メソッドを使うことで、簡単にブラウザのリロードが可能です。
使用例と応用
私はこの処理を「特定の時間になったらページをリロードし、ボタンをクリックする」といった用途で使用しています。
たとえば、タイミングによって内容が変わるWebページにアクセスして、再読み込み後に処理を続行したい場合に便利です。
まとめ
Seleniumのrefresh()
メソッドを使えば、PythonでWebページのリロード処理を簡単に自動化できます。
Webスクレイピングやテスト自動化、監視ツールなど、さまざまな場面で活用できる機能です。
数行のコードで実現できるため、ぜひ活用してみてください。