Python Selenium を使用して Web サイトを下にスクロール

Fariba Laiq 2023年10月10日
  1. Selenium と Chrome WebDriver をインストールする
  2. Python Selenium を使用して Web サイトを下にスクロール
Python Selenium を使用して Web サイトを下にスクロール

Web サイトのスクロールなど、ブラウザでのタスクを自動化したい場合があります。Python には、Selenium と呼ばれる強力な Web 自動化ツールがあります。

Web ブラウザーを制御し、特定のアクションを自動的に実行できるようにします。Web サイト上で水平方向と垂直方向に自動的にスクロールするスクリプトを作成できます。

Selenium と Chrome WebDriver をインストールする

Selenium をインストールするには、次のコマンドを使用します。

#Python 3.x
pip install selenium

ChromeDriver は、Selenium WebDriver が Chrome と対話するために使用するもう 1つの実行可能ファイルです。Chrome Web ブラウザーでタスクを自動化する場合は、ChromeDriver もインストールする必要があります。

Chrome ブラウザのバージョンに応じて、互換性のあるドライバを選択する必要があります。Chrome ドライバーをインストールして構成する手順は次のとおりです。

  1. このリンクをクリックします。Chrome ブラウザのバージョンとオペレーティングシステムの種類に応じて Chrome ドライバをダウンロードします。
  2. Chrome ブラウザのバージョンを確認する場合は、Chrome の右上隅にある 3つのドットをクリックし、[ヘルプ]をクリックして、[Google Chrome について]を選択します。Chrome のバージョンは about セクションで確認できます。
  3. zip ファイルを解凍し、Chrome ドライバーを実行します。

Python Selenium を使用して Web サイトを下にスクロール

構文:

driver.execute_script("window.scrollBy(x_pixels, y_pixels);")

ここで、x_pixels は水平方向にスクロールするピクセル数(x 軸上)を示し、y_pixels は垂直方向にスクロールするピクセル数(y 軸上)を示します。このガイドでは、x_pixels が 0 になるように、垂直方向にのみスクロールします。

指定したピクセルで下にスクロール

次のコードで WebDriver インスタンスを作成し、Chrome ドライバーへのパスを指定しました。次に、get() メソッドを使用して、ターゲット Web サイトの URL をドライバーインスタンスに設定しました。

目的のブラウザで対象のウェブサイトを開きます。maximize_window() を使用して、より良い画像を得るために Chrome のウィンドウを最大化しました。

Selenium には、execute_script() メソッドを介して JavaScript コマンドを実行する機能があります。メソッド window.scrollBy() を使用して 1000 ピクセルずつ自動スクロールダウンし、このコマンドを JavaScript 実行プログラムに渡しました。

ウェブサイトは自動的に垂直方向に 1000 ピクセル下にスクロールします。

コード例:

# Python 3.x
from selenium import webdriver

driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.get("https://www.verywellmind.com/what-is-personality-testing-2795420")
driver.maximize_window()
driver.execute_script("window.scrollBy(0, 1000);")

出力:

セレンをピクセル単位で下にスクロール

ウェブサイトの一番下までスクロールダウン

ページの一番下までスクロールしたいとします。document.body.scrollHeight は、ページの全高をピクセル単位で示します。

この高さを下にスクロールするピクセル数として指定します。

コード例:

# Python 3.x
from selenium import webdriver

driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.get("https://www.verywellmind.com/what-is-personality-testing-2795420")
driver.maximize_window()
driver.execute_script("window.scrollBy(0, document.body.scrollHeight);")

出力:

セレンを下にスクロールダウン

著者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

関連記事 - Python Selenium