0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows 11 + WSL2環境でのPythonブラウザ自動操作環境構築(browser-use)

Posted at

はじめに

この記事では、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 #ブラウザ自動操作 #開発環境構築

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?