はじめに
この記事では、Windows 11のWSL2(Windows Subsystem for Linux 2)環境で、Pythonを用いてブラウザを自動操作するための開発環境構築手順を解説します。具体的には、Playwrightというライブラリを使用し、Webページのスクレイピングや自動テストなど、様々なブラウザ操作をPythonから行う方法を説明します。
環境構築
WSL2とUbuntuのインストール
まず、WSL2とUbuntuをインストールします。以下のコマンドをPowerShellで実行してください。
wsl --install
wsl --install -d Ubuntu-24.04
これにより、WSL2が有効になり、Ubuntu 24.04がインストールされます。インストール後、Ubuntuの初期設定を行ってください。
Python 3.11の環境構築
次に、Python 3.11をインストールします。WSL2上のUbuntuで以下のコマンドを実行してください。
# deadsnakesリポジトリの追加
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.11 python3.11-venv python3.11-dev
deadsnakes
リポジトリは、新しいバージョンのPythonをインストールするのに便利なリポジトリです。
仮想環境の作成
Pythonの仮想環境を作成し、必要なパッケージをインストールします。以下のコマンドを実行してください。
python3.11 -m venv jupyter_env
source jupyter_env/bin/activate
これにより、jupyter_env
という名前の仮想環境が作成され、アクティベートされます。
パッケージのインストール
基本パッケージ
Jupyter NotebookやJupyterLabなど、基本的なパッケージをインストールします。
python -m pip install --upgrade pip setuptools wheel
pip install jupyter notebook jupyterlab
browser-useとその依存パッケージ
ブラウザ操作に必要なbrowser-use
パッケージ(と、その依存パッケージ)をインストールします。
pip install browser-use
browser-use
は、内部でplaywright
を利用しています。
インストール確認
依存パッケージの確認コード
インストールしたパッケージが正しくインポートできるか確認します。以下のPythonコードを実行してください。
try:
from maincontentextractor import MainContentExtractor
from playwright.sync_api import sync_playwright
import httpx
from langchain import LangChain
print("Main dependencies imported successfully!")
# パッケージのバージョン確認
import pkg_resources
version = pkg_resources.get_distribution('browser-use').version
print(f"browser-use version: {version}")
except ImportError as e:
print(f"Import error: {e}")
except Exception as e:
print(f"Error: {e}")
このコードがエラーなく実行されれば、必要なパッケージが正しくインストールされています。
ブラウザ操作の基本コード
Playwrightを使ってブラウザを操作する基本的なコードです。
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
# ブラウザの起動
browser = p.chromium.launch()
# 新しいページを開く
page = browser.new_page()
# Googleにアクセス
page.goto('https://www.google.com')
# スクリーンショットを保存
page.screenshot(path='screenshot.png')
# ブラウザを閉じる
browser.close()
このコードを実行すると、Chromiumブラウザが起動し、Googleのページを開いてスクリーンショットを保存します。
注意点
- Python 3.12では一部の依存パッケージに互換性の問題があるため、Python 3.11の使用を推奨します。
-
BrowserUse
クラスは現在利用できないため、代わりにPlaywrightを直接使用します。 - テレメトリーを無効化する場合は環境変数
ANONYMIZED_TELEMETRY=false
を設定してください。
トラブルシューティング
- Jupyter Notebookが応答しない場合は、カーネルの再起動を実行してください。
- パッケージのインストールに問題がある場合は、
--no-cache-dir
オプションを使用してみてください。 - WSL2環境でブラウザの表示に問題がある場合は、
headless=True
オプションを使用してみてください。
まとめ
この環境構築を行うことで、Pythonからブラウザを自動操作できるようになり、Webスクレイピングや自動テストなど、様々なタスクを効率化できます。Playwrightは強力なツールであり、様々なブラウザ操作を自動化できます。ぜひ活用してみてください。
ハッシュタグ
ハッシュタグ: #Windows11 #WSL2 #Python #Playwright #ブラウザ自動操作 #開発環境構築