Selenium WebDriver

Selenium WebDriver は Selenium のコアコンポーネントであり、ブラウザと対話するための API を提供し、開発者がプログラミング言語を通じてブラウザを制御し、さまざまな操作を実行できるようにします。

ブラウザを起動する

Selenium WebDriver は複数のブラウザ(Chrome、Firefox、Edge など)をサポートしています。

ブラウザを起動する前に、対応するブラウザドライバ(ChromeDriver、GeckoDriver など)をダウンロードして設定する必要があります。詳細はこちらを参照してくださいselenium のインストール。

ブラウザを起動するコード例(Python)。

Selenium 4 では、ドライバのパスを設定するために Service オブジェクトが導入されました。この方法はより柔軟で、Selenium 4 の設計仕様に適合しています。

Selenium 4 の例

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService

service = ChromeService(executable_path="PATH_TO_DRIVER")
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)
  1. 必要なモジュールをインポートします(webdriverとChromeService)。

  2. 作成ChromeServiceオブジェクトを作成し、ChromeDriver のパスを指定します。

  3. 作成ChromeOptionsオブジェクトを作成し、ブラウザの起動オプションを設定します。

  4. 使用webdriver.Chrome()Chrome ブラウザを起動し、次を渡しますserviceとoptionsパラメータ。

Selenium 3 以前のバージョンでは、通常 webdriver.Chrome() 内で直接ドライバのパスを設定していました。例:

Selenium 3 の例

from selenium import webdriver

# ChromeDriver のパスを設定
driver_path = "/path/to/chromedriver"

# Chrome ブラウザを起動
driver = webdriver.Chrome(executable_path=driver_path)

ブラウザを閉じる

使用quit()メソッドを使用してブラウザを閉じ、WebDriver セッションを終了します。

driver.quit()

Webページを開く・閉じる

使用get()メソッドを使用して指定した URL を開きます。

driver.get("https://www.example.com")

現在のタブを閉じる

close() メソッドを使用して現在のタブを閉じます。

driver.close()

タブが1つしかない場合、close() はブラウザを閉じます。


ブラウザウィンドウの操作

ウィンドウを最大化する

maximize_window() メソッドを使用してブラウザウィンドウを最大化します。

driver.maximize_window()

ウィンドウを最小化する

minimize_window() メソッドを使用してブラウザウィンドウを最小化します。

driver.minimize_window()

ウィンドウサイズを設定する

set_window_size(width, height) メソッドを使用してブラウザウィンドウのサイズを設定します。

driver.set_window_size(1024, 768)  # 设置窗口大小为 1024x768 像素

フルスクリーンモード

fullscreen_window() メソッドを使用してブラウザウィンドウをフルスクリーンモードに設定します。

driver.fullscreen_window()

ページナビゲーション

進むと戻る

back() メソッドを使用して前のページに戻ります。

forward() メソッドを使用して次のページに進みます。

driver.get("https://www.baidu.com")
driver.get("https://www.example.com")

driver.back()    # 返回 baidu.com
driver.forward() # 前进到 example.com

ページを更新する

refresh() メソッドを使用して現在のページを更新します。

driver.refresh()

ページタイトルとURLを取得する

ページタイトルを取得する

title プロパティを使用して現在のページのタイトルを取得します。

title = driver.title
print("页面标题:", title)

現在のURLを取得する

current_url プロパティを使用して現在のページのURLを取得します。

url = driver.current_url
print("当前 URL:", url)

総合サンプル


以下は、ブラウザの起動、Webページの表示、ウィンドウの操作、ページのナビゲーション、ページ情報の取得方法を示す完全なサンプルです。

サンプル

# 必要なモジュールをインポート
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService

# 正しいドライバのパスを設定
service = ChromeService(executable_path="./chromedriver-mac-arm64/chromedriver")
# ブラウザオプションを設定
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)

# Webページを開く
driver.get("https://www.example.com")

# ウィンドウを最大化
driver.maximize_window()

# ページタイトルとURLを取得
print("ページタイトル:", driver.title)
print(現在のURL:, driver.current_url)

# 別のページに移動
driver.get("https://www.jyshare.com")

# 前のページに戻る
driver.back()

# ページを更新
driver.refresh()

# ブラウザを閉じる
driver.quit()

上記のコードを実行すると、以下の手順が実行されます:

  • Chrome ブラウザを起動します。

  • 指定したWebページを開きます(https://www.example.com)。

  • ブラウザウィンドウを最大化します。

  • ページタイトルとURLを取得して出力します。

  • 別のWebページに移動します(https://www.jyshare.com)。

  • 前のページに戻ります。

  • 現在のページを更新します。

  • ブラウザを閉じます。

出力結果は次のとおりです:

页面标题: サンプル - 学的不仅是技术,更是梦想!
当前 URL: https://www.example.com/
その他の拡張