NTT DATA TECH
🎭

Playwright入門 ― ブラウザを自動化してみよう!

に公開

はじめに

はじめまして!NTT DATAに所属している松帆です。
日々さまざまな業務に取り組む中で、特にブラウザ(Microsoft Edge)を使った作業に触れる機会が多く、「手作業で繰り返すブラウザ操作を自動化できたら便利なのでは?」と思うことがありました。

そこで、Edgeを自動で操作できるツールを探していて出会ったのが Playwright(プレイライト) です。
Microsoft が開発しているオープンソースの自動化ツールで、ブラウザをプログラムから操作できます。
試しに使ってみたら、想像以上に直感的で使いやすかったです👍

この記事では、「Playwrightってそもそも何?」「どうやって使うの?」という初心者の方に向けて、
実際に動かしてみた感想や、できることをまとめていきます。


Playwrightとは

Playwright は、Microsoft が開発したオープンソースのブラウザ自動化フレームワークです。
Edge との親和性が高く、Webブラウザの操作をスクリプトで再現できます。

特徴を簡単にまとめると

  • 複数ブラウザ対応:Edge / Chrome / Firefox / Safari (WebKit)
  • 複数言語対応:JavaScript、Python、Java、.NET など
  • ヘッドレスモード対応:画面を表示せず高速に実行可能
  • テストにも業務効率化にも使える:E2Eテストからデータ取得まで幅広く応用

Playwrightは、単なるテストフレームワークではなく
ブラウザ操作を自由にコントロールできる開発者向けツール」です。
Edgeを使う機会が多い方にとっては、特に親しみやすい存在だと思います。


Playwrightでできること

Playwrightを使うと、ブラウザで行う多くの操作を自動化できます。

用途 できることの例
UIテスト フォーム入力、ボタン操作、画面遷移の確認
スクレイピング ログイン後ページを含むデータ取得
スクリーンショット Webページの状態を自動保存
業務効率化 日次データのダウンロード、定型レポート作成など

「毎朝ログインしてダッシュボードを開く」「同じ検索を繰り返す」など、
手作業をコードで置き換えられるのが最大の魅力です。


Playwrightを触ってみる

1. インストール

Python がインストールされていれば、以下のコマンドで Playwright を導入できます。

bash
pip install playwright

これでブラウザ(Chromium / Firefox / WebKit)が自動でセットアップされ、
すぐに Python から Playwright を使えるようになります。


2. 実際に動かしてみよう

ここでは、「Edge を自動で開いて Playwright の検索結果ページを表示し、スクリーンショットを保存する」簡単なスクリプトを紹介します。

スクリプトの動作概要

  • ブラウザを表示して動かすモード
  • 指定したURLへ自動でアクセス
  • 画面キャプチャを保存

実行方法

①以下のスクリプトをplaywright_example.py として保存

playwright_example.py
from playwright.sync_api import sync_playwright
from pathlib import Path
import os

SAVE_DIR = Path(r"C:\playwright_demo\screenshots")
SAVE_DIR.mkdir(parents=True, exist_ok=True)

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, channel="msedge")
    page = browser.new_page()

    # 「Playwright」の検索結果ページへ
    page.goto("https://www.bing.com/search?q=Playwright")
    print("現在のURL:", page.url)

    # 検索結果ページのロード完了を待つ
    page.wait_for_load_state("networkidle")

    # スクリーンショットを保存(保存先を明示)
    screenshot_path = SAVE_DIR / "search_result.png"
    page.screenshot(path=str(screenshot_path))

    print(f"スクリーンショットを保存しました: {screenshot_path}")

    browser.close()

②以下のコマンドを実行

bash
python playwright_example.py

実行結果
コマンド実行結果

③保存されたスクリーンショットを確認
保存されたスクリーンショット
C:\playwright_demo\screenshots\search_result.png


実際に使ってみて感じたこと

私自身、これまで「ブラウザの自動化=Selenium」というイメージを持っていましたが、
Playwrightを触ってみると次のように感じました。

  • 設定が圧倒的に簡単
  • 動作が速く、安定している
  • Python から直感的に書ける API が多く、とても扱いやすい

特にEdgeのサポートが公式に行われている点は大きな強みです。
社内システムやイントラネットを扱う環境でも動作しやすく、Microsoft環境との相性も抜群です。


まとめ

今回は、ブラウザ自動化ツール Playwright について、初心者向けに紹介しました。

ポイント 内容
Microsoft製の自動化ツール Edge をはじめ、Chrome / Firefox / WebKit など複数ブラウザに対応
シンプルなコードで自動化できる 検索、入力、クリック、スクショなどの操作をスクリプトで自由に再現
業務効率化やテストに最適 定型作業の自動化からE2Eテストまで幅広く活用可能

手作業の繰り返しやテストの実行を自動化したい人にとって、
Playwrightはとても強力な味方になると思います。

まずは「ブラウザを開いて検索する」程度のスクリプトから試してみてください。
動いた瞬間、きっと「これ、楽しい!」と感じるはずです!

NTT DATA TECH
NTT DATA TECH
設定によりコメント欄が無効化されています