
PythonでWeb操作を自動化する際に便利なライブラリのひとつが Playwright です。
その中でも .click()
は「リンクをクリックする」「ボタンを押す」など、ユーザーがマウスで操作するような動作を自動で行うための基本的なメソッドです。
この記事では .click()
の基本的な使い方から、活用シーン、注意点までをわかりやすく丁寧に解説します。
.click() とは?
.click()
は、Playwright における クリック操作 のためのメソッドです。
ページ上の指定した要素(たとえばボタンやリンクなど)に対して、クリックアクションを発生させます。
Playwrightでは、クリックしたい要素をCSSセレクタなどで指定して .click()
を使います。
具体例①:基本的な使い方
まずは、特定のボタンをクリックする基本的なコードを見てみましょう。
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") page.click("button#submit") browser.close() |
このコードでやっていることは:
- Chromiumブラウザを起動
- 新しいタブを開く
.goto()
でページにアクセスbutton#submit
というセレクタで要素を特定し、.click()
でクリック- ブラウザを閉じる
ボタンの id
や class
、type
などを使って、セレクタを柔軟に指定できます。
具体例②:ログイン操作の一部として使う
.click()
はログインボタンや送信ボタンを押すときにも頻繁に使われます。
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()
でログイン画面にアクセス- ユーザー名・パスワードを入力
.click()
でログインボタンを押す
この一連の操作をPlaywrightで自動化できます。
.click() で使えるセレクタ指定の例
Playwrightでは、以下のような形式でクリック対象を指定できます。
指定方法 | 書き方の例 |
---|---|
ID指定 | "#login-button" |
class指定 | ".submit-button" |
属性指定 | "button[type='submit']" |
テキスト指定 | "text=ログイン" |
role指定 | "role=button[name='閉じる']" |
目的のセレクタは、ブラウザの開発者ツールで要素を右クリック → 検証して確認できます。
.click() のオプション設定
.click()
には以下のようなオプションも指定できます:
1 2 |
page.click("button#submit", timeout=5000, force=True) |
timeout
:タイムアウト時間(ミリ秒)を指定force
:要素が隠れていても強制的にクリックする
また、ダブルクリックの場合は .dblclick()
、右クリックは .click(button="right")
のように使えます。
.click() を使うときの注意点
JavaScriptで生成される要素に注意
.click()
の対象がページ表示後に JavaScript で追加される場合、すぐにクリックしようとすると「見つからない」エラーになります。
その場合は .wait_for_selector()
などを併用して、要素が表示されるのを待ってからクリックします。
1 2 3 |
page.wait_for_selector("button#start") page.click("button#start") |
要素が画面外にあるとクリックできないことも
対象のボタンが画面外にあって見えていない場合、クリックできないことがあります。
その場合は .scroll_into_view_if_needed()
や .hover()
を使って、画面内に要素を表示してからクリックします。
1 2 3 |
page.locator("button#next").scroll_into_view_if_needed() page.click("button#next") |
まとめ
今回はPlaywrightの .click()
メソッドについて紹介しました。
.click()
は指定した要素をクリックするための基本メソッド- セレクタ(ID、class、textなど)で柔軟に要素を指定できる
- 入力→クリックの一連の操作も簡単に自動化できる
- 要素の読み込みタイミングには注意し、
.wait_for_selector()
との併用が有効
.click()
をマスターすれば、ログインやページ遷移、フォーム送信など、さまざまなWeb操作を自動化できるようになります。
Playwrightを使いこなす第一歩として、ぜひしっかり理解しておきましょう。