BrowserType
BrowserType は、特定のブラウザインスタンスを起動したり、既存のインスタンスに接続したりするためのメソッドを提供します。Playwright を使用した自動化の典型的な例を以下に示します。
- 同期
- 非同期
from playwright.sync_api import sync_playwright, Playwright
def run(playwright: Playwright):
chromium = playwright.chromium
browser = chromium.launch()
page = browser.new_page()
page.goto("https://example.com")
# other actions...
browser.close()
with sync_playwright() as playwright:
run(playwright)
import asyncio
from playwright.async_api import async_playwright, Playwright
async def run(playwright: Playwright):
chromium = playwright.chromium
browser = await chromium.launch()
page = await browser.new_page()
await page.goto("https://example.com")
# other actions...
await browser.close()
async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
メソッド
connect
v1.9より前に追加このメソッドは、Node.js の BrowserType.launchServer
を介して作成された既存のブラウザインスタンスに Playwright をアタッチします。
接続する Playwright インスタンスのメジャーバージョンとマイナーバージョンは、ブラウザを起動する Playwright のバージョンと一致する必要があります (1.2.3 → 1.2.x と互換性があります)。
使用法
browser_type.connect(ws_endpoint)
browser_type.connect(ws_endpoint, **kwargs)
引数
-
ws_endpoint
str追加バージョン: v1.10#接続する Playwright ブラウザの WebSocket エンドポイントです。このエンドポイントは
BrowserServer.wsEndpoint
を介して取得します。 -
expose_network
str (オプション)追加バージョン: v1.37#このオプションは、接続元のクライアントで利用可能なネットワークを、接続先のブラウザに公開します。カンマで区切られたルールのリストで構成されます。
利用可能なルール
- ホスト名のパターン。例:
example.com
,*.org:99
,x.*.y.com
,*foo.org
。 - IP リテラル。例:
127.0.0.1
,0.0.0.0:99
,[::1]
,[0:0::1]:99
。 - ローカルループバックインターフェースに一致する
<loopback>
:localhost
,*.localhost
,127.0.0.1
,[::1]
。
一般的な例
"*"
ですべてのネットワークを公開します。"<loopback>"
で localhost ネットワークを公開します。"*.test.internal-domain,*.staging.internal-domain,<loopback>"
でテスト/ステージング環境と localhost を公開します。
- ホスト名のパターン。例:
-
headers
Dict[str, str] (オプション)追加バージョン: v1.11#WebSocket 接続リクエストとともに送信される追加の HTTP ヘッダー。オプションです。
-
slow_mo
float (オプション)追加バージョン: v1.10#Playwright の操作を指定されたミリ秒数だけ遅くします。何が起こっているかを確認するのに役立ちます。デフォルトは 0 です。
-
timeout
float (オプション)追加バージョン: v1.10#接続が確立されるまでの最大待ち時間 (ミリ秒)。デフォルトは
0
(タイムアウトなし) です。
戻り値
connect_over_cdp
追加バージョン: v1.9このメソッドは、Chrome DevTools Protocol を使用して、既存のブラウザインスタンスに Playwright をアタッチします。
デフォルトのブラウザコンテキストは browser.contexts を介してアクセスできます。
Chrome DevTools Protocol を介した接続は、Chromium ベースのブラウザでのみサポートされています。
この接続は、browser_type.connect() を介した Playwright プロトコル接続よりも忠実度が大幅に低いです。問題が発生している場合や高度な機能の使用を試みている場合は、browser_type.connect() を使用することをお勧めします。
使用法
- 同期
- 非同期
browser = playwright.chromium.connect_over_cdp("https://:9222")
default_context = browser.contexts[0]
page = default_context.pages[0]
browser = await playwright.chromium.connect_over_cdp("https://:9222")
default_context = browser.contexts[0]
page = default_context.pages[0]
引数
-
endpoint_url
str追加バージョン: v1.11#接続する CDP WebSocket エンドポイントまたは HTTP URL です。例:
https://:9222/
またはws://127.0.0.1:9222/devtools/browser/387adf4c-243f-4051-a181-46798f4a46f4
。 -
headers
Dict[str, str] (オプション)追加バージョン: v1.11#接続リクエストとともに送信される追加の HTTP ヘッダー。オプションです。
-
slow_mo
float (オプション)追加バージョン: v1.11#Playwright の操作を指定されたミリ秒数だけ遅くします。何が起こっているかを確認するのに役立ちます。デフォルトは 0 です。
-
timeout
float (オプション)追加バージョン: v1.11#接続が確立されるまでの最大待ち時間 (ミリ秒)。デフォルトは
30000
(30秒) です。0
を渡すとタイムアウトが無効になります。
戻り値
launch
v1.9より前に追加ブラウザインスタンスを返します。
使用法
ignore_default_args を使用して、デフォルトの引数から --mute-audio
を除外できます。
- 同期
- 非同期
browser = playwright.chromium.launch( # or "firefox" or "webkit".
ignore_default_args=["--mute-audio"]
)
browser = await playwright.chromium.launch( # or "firefox" or "webkit".
ignore_default_args=["--mute-audio"]
)
Chromiumのみ Playwright は Google Chrome または Microsoft Edge ブラウザの制御にも使用できますが、バンドルされている Chromium のバージョンで最適に動作します。他のバージョンで動作するという保証はありません。executable_path オプションは細心の注意を払って使用してください。
Chromium ではなく Google Chrome を使用する場合は、Chrome Canary または Dev Channel ビルドが推奨されます。
Google Chrome や Microsoft Edge のような標準ブラウザは、ビデオ再生にプロプライエタリなメディアコーデックを必要とするテストに適しています。Chromium と Chrome のその他の違いについては、この記事を参照してください。この記事では、Linux ユーザー向けの違いについて説明しています。
引数
-
警告
一部のカスタムブラウザ引数は Playwright の機能を損なう可能性があるため、自己責任で使用してください。
ブラウザインスタンスに渡す追加の引数。Chromium のフラグのリストはこちらで確認できます。
-
ブラウザの配布チャネル。
新しいヘッドレスモードを有効にするには、「chromium」を使用します。
ブランド付き Google Chrome および Microsoft Edge を使用するには、「chrome」、「chrome-beta」、「chrome-dev」、「chrome-canary」、「msedge」、「msedge-beta」、「msedge-dev」、または「msedge-canary」を使用します。
-
chromium_sandbox
bool (オプション)#Chromium のサンドボックスを有効にします。デフォルトは
false
です。 -
非推奨
代わりにデバッグツールを使用してください。
Chromiumのみ 各タブのDeveloper Toolsパネルを自動的に開くかどうか。このオプションが
true
の場合、headless オプションはfalse
に設定されます。 -
downloads_path
Union[str, pathlib.Path] (オプション)#指定された場合、受け入れられたダウンロードはこのディレクトリにダウンロードされます。そうでない場合、一時ディレクトリが作成され、ブラウザが閉じられると削除されます。どちらの場合でも、ダウンロードは作成されたブラウザコンテキストが閉じられると削除されます。
-
env
Dict[str, str | float | bool] (オプション)#ブラウザから見える環境変数を指定します。デフォルトは
process.env
です。 -
executable_path
Union[str, pathlib.Path] (オプション)#バンドルされている実行可能ファイルの代わりに実行するブラウザ実行可能ファイルへのパスです。executable_path が相対パスの場合、現在の作業ディレクトリからの相対パスとして解決されます。Playwright はバンドルされている Chromium、Firefox、または WebKit でのみ動作することに注意してください。自己責任で使用してください。
-
firefox_user_prefs
Dict[str, str | float | bool] (オプション)#Firefox のユーザー設定です。Firefox のユーザー設定の詳細については、
about:config
を参照してください。 -
SIGHUP シグナルでブラウザプロセスを閉じます。デフォルトは
true
です。 -
Ctrl-C でブラウザプロセスを閉じます。デフォルトは
true
です。 -
SIGTERM シグナルでブラウザプロセスを閉じます。デフォルトは
true
です。 -
ブラウザをヘッドレスモードで実行するかどうか。詳細については、Chromium および Firefox を参照してください。devtools オプションが
true
でない限り、デフォルトはtrue
です。 -
ignore_default_args
bool | List[str] (オプション)#true
の場合、Playwright は独自の構成引数を渡さず、args からの引数のみを使用します。配列が指定された場合、指定されたデフォルト引数をフィルタリングします。危険なオプションですので、注意して使用してください。デフォルトはfalse
です。 -
-
server
strすべてのリクエストに使用されるプロキシ。HTTP および SOCKS プロキシがサポートされています。例:
http://myproxy.com:3128
またはsocks5://myproxy.com:3128
。省略形myproxy.com:3128
は HTTP プロキシと見なされます。 -
bypass
str (オプション)プロキシをバイパスするオプションのカンマ区切りドメイン。例:
".com, chromium.org, .domain.com"
。 -
username
str (オプション)HTTP プロキシが認証を必要とする場合に使用するオプションのユーザー名。
-
password
str (オプション)HTTP プロキシが認証を必要とする場合に使用するオプションのパスワード。
ネットワークプロキシ設定。
-
-
Playwright の操作を指定されたミリ秒数だけ遅くします。何が起こっているかを確認するのに役立ちます。
-
ブラウザインスタンスが起動するまでの最大待ち時間 (ミリ秒)。デフォルトは
30000
(30秒) です。0
を渡すとタイムアウトが無効になります。 -
traces_dir
Union[str, pathlib.Path] (オプション)#指定された場合、トレースはこのディレクトリに保存されます。
戻り値
launch_persistent_context
v1.9より前に追加永続ブラウザコンテキストインスタンスを返します。
user_data_dir にある永続ストレージを使用するブラウザを起動し、唯一のコンテキストを返します。このコンテキストを閉じると、ブラウザも自動的に閉じられます。
使用法
browser_type.launch_persistent_context(user_data_dir)
browser_type.launch_persistent_context(user_data_dir, **kwargs)
引数
-
user_data_dir
Union[str, pathlib.Path]#Cookie やローカルストレージなどのブラウザセッションデータを保存するユーザーデータディレクトリへのパス。一時ディレクトリを作成するには、空の文字列を渡します。
Chromium および Firefox の詳細については、こちらを参照してください。Chromium のユーザーデータディレクトリは、
chrome://version
で表示される「プロファイルパス」の親ディレクトリです。ブラウザは、同じユーザーデータディレクトリで複数のインスタンスを起動することを許可しないことに注意してください。
-
accept_downloads
bool (オプション)#すべての添付ファイルを自動的にダウンロードするかどうか。デフォルトは
true
で、すべてのダウンロードが許可されます。 -
警告
一部のカスタムブラウザ引数は Playwright の機能を損なう可能性があるため、自己責任で使用してください。
ブラウザインスタンスに渡す追加の引数。Chromium のフラグのリストはこちらで確認できます。
-
page.goto()、page.route()、page.wait_for_url()、page.expect_request()、または page.expect_response() を使用する場合、
URL()
コンストラクタを使用して対応する URL を構築することで、ベース URL が考慮されます。デフォルトでは設定されていません。例- baseURL:
https://:3000
で/bar.html
にナビゲートすると、https://:3000/bar.html
となります。 - baseURL:
https://:3000/foo/
で./bar.html
にナビゲートすると、https://:3000/foo/bar.html
となります。 - baseURL:
https://:3000/foo
(末尾のスラッシュなし) で./bar.html
にナビゲートすると、https://:3000/bar.html
となります。
- baseURL:
-
ページの Content-Security-Policy のバイパスを切り替えます。デフォルトは
false
です。 -
ブラウザの配布チャネル。
新しいヘッドレスモードを有効にするには、「chromium」を使用します。
ブランド付き Google Chrome および Microsoft Edge を使用するには、「chrome」、「chrome-beta」、「chrome-dev」、「chrome-canary」、「msedge」、「msedge-beta」、「msedge-dev」、または「msedge-canary」を使用します。
-
chromium_sandbox
bool (オプション)#Chromium のサンドボックスを有効にします。デフォルトは
false
です。 -
client_certificates
List[Dict] (オプション)追加バージョン: 1.46#-
origin
str証明書が有効な正確なオリジン。オリジンには
https
プロトコル、ホスト名、オプションでポートが含まれます。 -
certPath
Union[str, pathlib.Path] (オプション)PEM 形式の証明書ファイルへのパス。
-
cert
bytes (オプション)PEM 形式の証明書の直接値。
-
keyPath
Union[str, pathlib.Path] (オプション)PEM 形式の秘密鍵ファイルへのパス。
-
key
bytes (オプション)PEM 形式の秘密鍵の直接値。
-
pfxPath
Union[str, pathlib.Path] (オプション)PFX または PKCS12 エンコードされた秘密鍵および証明書チェーンファイルへのパス。
-
pfx
bytes (オプション)PFX または PKCS12 エンコードされた秘密鍵および証明書チェーンの直接値。
-
passphrase
str (オプション)秘密鍵 (PEM または PFX) のパスフレーズ。
TLS クライアント認証により、サーバーはクライアント証明書を要求し、検証できます。
詳細
使用するクライアント証明書の配列。各証明書オブジェクトは、
certPath
とkeyPath
の両方、または単一のpfxPath
、またはそれらに対応する直接値 (cert
とkey
、またはpfx
) のいずれかを持つ必要があります。オプションで、証明書が暗号化されている場合はpassphrase
プロパティを指定する必要があります。origin
プロパティは、証明書が有効なリクエストのオリジンと正確に一致するように指定する必要があります。注macOS で WebKit を使用する場合、
localhost
にアクセスしてもクライアント証明書は取得されません。localhost
をlocal.playwright
に置き換えることで動作させることができます。 -
-
color_scheme
"light" | "dark" | "no-preference" | "null" (オプション)#prefers-colors-scheme
メディア機能をエミュレートします。サポートされる値は'light'
と'dark'
です。詳細については page.emulate_media() を参照してください。'null'
を渡すと、エミュレーションはシステムデフォルトにリセットされます。デフォルトは'light'
です。 -
contrast
"no-preference" | "more" | "null" (オプション)#'prefers-contrast'
メディア機能をエミュレートします。サポートされる値は'no-preference'
、'more'
です。詳細については page.emulate_media() を参照してください。'null'
を渡すと、エミュレーションはシステムデフォルトにリセットされます。デフォルトは'no-preference'
です。 -
device_scale_factor
float (オプション)#デバイスのスケールファクター (dpr とも考えられます) を指定します。デフォルトは
1
です。デバイスのスケールファクターによるデバイスエミュレーション の詳細はこちら。 -
非推奨
代わりにデバッグツールを使用してください。
Chromiumのみ 各タブのDeveloper Toolsパネルを自動的に開くかどうか。このオプションが
true
の場合、headless オプションはfalse
に設定されます。 -
downloads_path
Union[str, pathlib.Path] (オプション)#指定された場合、受け入れられたダウンロードはこのディレクトリにダウンロードされます。そうでない場合、一時ディレクトリが作成され、ブラウザが閉じられると削除されます。どちらの場合でも、ダウンロードは作成されたブラウザコンテキストが閉じられると削除されます。
-
env
Dict[str, str | float | bool] (オプション)#ブラウザから見える環境変数を指定します。デフォルトは
process.env
です。 -
executable_path
Union[str, pathlib.Path] (オプション)#バンドルされている実行可能ファイルの代わりに実行するブラウザ実行可能ファイルへのパスです。executable_path が相対パスの場合、現在の作業ディレクトリからの相対パスとして解決されます。Playwright はバンドルされている Chromium、Firefox、または WebKit でのみ動作することに注意してください。自己責任で使用してください。
-
extra_http_headers
Dict[str, str] (オプション)#すべてのリクエストとともに送信される追加の HTTP ヘッダーを含むオブジェクト。デフォルトはなし。
-
firefox_user_prefs
Dict[str, str | float | bool] (オプション)追加バージョン: v1.40#Firefox のユーザー設定です。Firefox のユーザー設定の詳細については、
about:config
を参照してください。 -
forced_colors
"active" | "none" | "null" (オプション)#'forced-colors'
メディア機能をエミュレートします。サポートされる値は'active'
、'none'
です。詳細については page.emulate_media() を参照してください。'null'
を渡すと、エミュレーションはシステムデフォルトにリセットされます。デフォルトは'none'
です。 -
SIGHUP シグナルでブラウザプロセスを閉じます。デフォルトは
true
です。 -
Ctrl-C でブラウザプロセスを閉じます。デフォルトは
true
です。 -
SIGTERM シグナルでブラウザプロセスを閉じます。デフォルトは
true
です。 -
ビューポートがタッチイベントをサポートするかどうかを指定します。デフォルトは false です。モバイルエミュレーション の詳細はこちら。
-
ブラウザをヘッドレスモードで実行するかどうか。詳細については、Chromium および Firefox を参照してください。devtools オプションが
true
でない限り、デフォルトはtrue
です。 -
http_credentials
Dict (オプション)#-
username
str -
password
str -
origin
str (オプション)特定のオリジン (scheme://host
:port) で HTTP 認証情報の送信を制限しますポート). -
send
"unauthorized" | "always" (オプション)このオプションは、対応する APIRequestContext から送信されたリクエストにのみ適用され、ブラウザから送信されたリクエストには影響しません。
'always'
- 基本認証情報を含むAuthorization
ヘッダーが各 API リクエストとともに送信されます。'unauthorized
- 401 (Unauthorized) レスポンスとWWW-Authenticate
ヘッダーが受信された場合にのみ認証情報が送信されます。デフォルトは'unauthorized'
です。
HTTP 認証 の資格情報。オリジンが指定されていない場合、ユーザー名とパスワードは認証されていない応答に対して任意のサーバーに送信されます。
-
-
ignore_default_args
bool | List[str] (オプション)#true
の場合、Playwright は独自の構成引数を渡さず、args からの引数のみを使用します。配列が指定された場合、指定されたデフォルト引数をフィルタリングします。危険なオプションですので、注意して使用してください。デフォルトはfalse
です。 -
ignore_https_errors
bool (オプション)#ネットワークリクエストを送信する際に HTTPS エラーを無視するかどうか。デフォルトは
false
です。 -
meta viewport
タグが考慮され、タッチイベントが有効になるかどうか。isMobile はデバイスの一部であるため、手動で設定する必要はありません。デフォルトはfalse
で、Firefox ではサポートされていません。モバイルエミュレーション の詳細はこちら。 -
java_script_enabled
bool (オプション)#コンテキストで JavaScript を有効にするかどうか。デフォルトは
true
です。JavaScript の無効化 の詳細はこちら。 -
ユーザーロケールを指定します。例:
en-GB
、de-DE
など。ロケールはnavigator.language
の値、Accept-Language
リクエストヘッダーの値、および数値と日付の書式設定ルールに影響します。デフォルトはシステムデフォルトロケールです。エミュレーションの詳細については、エミュレーションガイド を参照してください。 -
固定ビューポートを強制せず、ヘッド付きモードでのウィンドウのリサイズを許可します。
-
ネットワークがオフラインであることをエミュレートするかどうか。デフォルトは
false
です。ネットワークエミュレーション の詳細はこちら。 -
permissions
List[str] (オプション)#このコンテキスト内のすべてのページに付与する権限のリスト。詳細については browser_context.grant_permissions() を参照してください。デフォルトはなし。
-
-
server
strすべてのリクエストに使用されるプロキシ。HTTP および SOCKS プロキシがサポートされています。例:
http://myproxy.com:3128
またはsocks5://myproxy.com:3128
。省略形myproxy.com:3128
は HTTP プロキシと見なされます。 -
bypass
str (オプション)プロキシをバイパスするオプションのカンマ区切りドメイン。例:
".com, chromium.org, .domain.com"
。 -
username
str (オプション)HTTP プロキシが認証を必要とする場合に使用するオプションのユーザー名。
-
password
str (オプション)HTTP プロキシが認証を必要とする場合に使用するオプションのパスワード。
ネットワークプロキシ設定。
-
-
record_har_content
"omit" | "embed" | "attach" (オプション)#リソースコンテンツ管理を制御するオプション設定。
omit
が指定された場合、コンテンツは永続化されません。attach
が指定された場合、リソースは個別のファイルとして永続化され、これらのファイルはすべて HAR ファイルとともにアーカイブされます。デフォルトはembed
で、HAR 仕様に従ってコンテンツを HAR ファイル内にインラインで保存します。 -
record_har_mode
"full" | "minimal" (オプション)#minimal
に設定すると、HAR からのルーティングに必要な情報のみが記録されます。これにより、HAR からのリプレイ時に使用されないサイズ、タイミング、ページ、Cookie、セキュリティ、その他の種類の HAR 情報は省略されます。デフォルトはfull
です。 -
record_har_omit_content
bool (オプション)#HAR からリクエストコンテンツを省略するかどうかを制御するオプション設定。デフォルトは
false
です。 -
record_har_path
Union[str, pathlib.Path] (オプション)#すべてのページに対して、ファイルシステム上の指定された HAR ファイルへの HAR 記録を有効にします。指定されていない場合、HAR は記録されません。HAR を保存するには、必ず browser_context.close() を呼び出してください。
-
record_video_dir
Union[str, pathlib.Path] (オプション)#すべてのページに対して、指定されたディレクトリへのビデオ録画を有効にします。指定されていない場合、ビデオは記録されません。ビデオを保存するには、必ず browser_context.close() を呼び出してください。
-
record_video_size
Dict (オプション)#記録されたビデオの寸法。指定されていない場合、サイズは 800x800 に収まるように縮小された
viewport
と同じになります。viewport
が明示的に設定されていない場合、ビデオサイズはデフォルトで 800x450 になります。各ページの実際の画像は、指定されたサイズに収まるように必要に応じて縮小されます。 -
reduced_motion
"reduce" | "no-preference" | "null" (オプション)#'prefers-reduced-motion'
メディア機能をエミュレートします。サポートされる値は'reduce'
、'no-preference'
です。詳細については page.emulate_media() を参照してください。'null'
を渡すと、エミュレーションはシステムデフォルトにリセットされます。デフォルトは'no-preference'
です。 -
Web ページ内で
window.screen
を介して利用可能な一貫したウィンドウ画面サイズをエミュレートします。viewport が設定されている場合にのみ使用されます。 -
service_workers
"allow" | "block" (オプション)#サイトが Service Worker を登録することを許可するかどうか。デフォルトは
'allow'
です。'allow'
: Service Workers を登録できます。'block'
: Playwright は Service Worker のすべての登録をブロックします。
-
Playwright の操作を指定されたミリ秒数だけ遅くします。何が起こっているかを確認するのに役立ちます。
-
strict_selectors
bool (オプション)#true
に設定すると、このコンテキストで厳密セレクターモードが有効になります。厳密セレクターモードでは、単一のターゲット DOM 要素を意味するセレクターに対するすべての操作は、複数の要素がセレクターに一致する場合にエラーをスローします。このオプションは Locator API には影響しません (Locator は常に厳密です)。デフォルトはfalse
です。厳密モードの詳細については Locator を参照してください。 -
ブラウザインスタンスが起動するまでの最大待ち時間 (ミリ秒)。デフォルトは
30000
(30秒) です。0
を渡すとタイムアウトが無効になります。 -
コンテキストのタイムゾーンを変更します。サポートされているタイムゾーン ID のリストについては、ICU の metaZones.txt を参照してください。デフォルトはシステムタイムゾーンです。
-
traces_dir
Union[str, pathlib.Path] (オプション)#指定された場合、トレースはこのディレクトリに保存されます。
-
このコンテキストで使用する特定のユーザーエージェント。
-
viewport
NoneType | Dict (オプション)#各ページに一貫したビューポートを設定します。デフォルトは 1280x720 のビューポートです。
no_viewport
は固定ビューポートを無効にします。ビューポートエミュレーション の詳細はこちら。
戻り値
プロパティ
executable_path
v1.9より前に追加Playwright がバンドルされたブラウザ実行可能ファイルを見つけることを想定しているパス。
使用法
browser_type.executable_path
戻り値
name
v1.9より前に追加ブラウザ名を返します。例: 'chromium'
、'webkit'
、または 'firefox'
。
使用法
browser_type.name
戻り値