
PythonでWeb操作を自動化する際に便利なライブラリのひとつが Playwright です。
その中でも .goto()
は「ページを開く・遷移する」ために非常によく使われる基本メソッドです。
この記事では .goto()
の基本的な使い方から、活用シーン、注意点までをわかりやすく丁寧に解説します。
.goto() とは?
.goto()
は、Playwright における ページ遷移 のためのメソッドです。
指定したURLのページにアクセスしてくれる機能で、例えば、 WebスクレイピングやE2Eテストなどで「まず最初にページを開く」という処理で必ず登場します。
Playwrightでは .goto()
を使って、ページオブジェクトに対して「このURLへ移動して」と指示します。
具体例①:基本的な使い方
まずはシンプルに、特定のページにアクセスする基本コードを見てみましょう。
1 2 3 4 5 6 7 8 9 |
from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch() page = browser.new_page() page.goto("https://example.com") print(page.title()) browser.close() |
このコードでやっていることは:
- Chromiumブラウザを起動
- 新しいタブ(ページ)を開く
.goto("https://example.com")
でURLへアクセス- ページタイトルを取得・表示
.goto()
を使うことで、目的のページへ正確にアクセスできます。
具体例②:ログイン画面にアクセスして操作する
.goto()
はログイン操作の前処理としてもよく使われます。
1 2 3 4 5 |
page.goto("https://example.com/login") page.fill("input[name='username']", "user123") page.fill("input[name='password']", "pass123") page.click("button[type='submit']") |
このように:
- ログインページに
.goto()
で移動 - 入力欄にユーザー名とパスワードを入力
- ログインボタンをクリック
ページ遷移とその後の操作を組み合わせることで、複雑な処理もスムーズに自動化できます。
.goto() のオプション設定
.goto()
には、ページ読み込みの完了タイミングやタイムアウト時間などを指定するオプションも用意されています。
例:ページの読み込み完了まで待機
1 2 |
page.goto("https://example.com", wait_until="networkidle") |
wait_until="load"
(初期値):load
イベントの完了を待つwait_until="domcontentloaded"
:DOM構造の読み込み完了まで待つwait_until="networkidle"
:ネットワーク接続が一定時間静かになるまで待つ(動的ページ向け)
読み込みが不安定なページでも、こうしたオプションを使えばエラーを防げます。
.goto() を使うときの注意点
JavaScriptの遅延描画に注意
ページによっては JavaScript によって内容が後から描画される場合があります。
その場合、.goto()
だけでは目的の情報がまだ表示されていないこともあるため、.wait_for_selector()
などと併用するのがおすすめです。
1 2 3 |
page.goto("https://example.com") page.wait_for_selector("div.content") |
まとめ
今回はPlaywrightの.goto()
を紹介しました。
.goto()
は Playwright で指定したURLにアクセスする基本メソッド- Webページの遷移やログイン画面への移動など、幅広く活用される
- ページ読み込み完了の条件やタイムアウトなど、オプション指定も可能
- JavaScriptで遅延描画される要素には
.wait_for_selector()
などの併用が効果的
Playwright で自動化処理を行うなら、まず最初に覚えるべき重要メソッドです。
.goto()
を使いこなせば、Web上のあらゆるページへのアクセスをスムーズに制御できるようになります。