DUICUO

Playwrightを使用してEdge、Chrome、Firefoxを起動する正しい方法の詳細な説明

ウェブ自動テストの経験がある方は、自動テスト製品を選ぶ際に、どのブラウザをサポートしているかを注意深く確認するでしょう。Playwrightのブラウザには、Chrome と Edge(Chromium ベース)、Firefox と Safari(WebKit ベース)が含まれます。今日は、これらのブラウザを起動するスクリプトの書き方に焦点を当てます。

デフォルトでは Chromium が起動します。

大事なことなので3回言います!

PlayWright のデフォルト ブラウザは Chromium です。

PlayWright のデフォルト ブラウザは Chromium です。

PlayWright のデフォルト ブラウザは Chromium です。

Chromiumは、私たちが知っているChromeとは違います!Chromium OSはオープンソースプロジェクトで、主に開発者によって利用されています。コードは誰でもチェックアウト、変更、ビルドできます。簡単に言うと、 Chromiumはオープンソースですが、Chromeはクローズドソースであり、Chromeにはより多くの機能があります。

次のコードを使用して Chromium ブラウザを起動できます。

 browser = p.chromium.launch(headless=False)

パラメータ headless=False を使用すると、ブラウザは起動せず、スクリプトはヘッドレス モードで実行されます。

ブレークポイントを設定すると、次の画像に示すように、起動した Chromium のバージョン情報を表示できます。

Chromeを起動

Chrome ブラウザを起動するには、次のコマンドを使用する必要があります。

 browser = p.chromium.launch(channel="chrome",headless=False)

Firefoxを起動する

Firefox ブラウザを起動するには、次のコードを使用します。

 browser = p.firefox.launch(headless=False)

WebKitを起動する

WebKit を起動するには、次のコードを使用します。

 browser = p.webkit.launch(headless=False)

注: 私は Mac コンピューターを持っていないため、この方法で Safari を正常に起動できるかどうかは確認していません。

エッジを起動

Edge を起動するときは、次の点に注意してください。

 browser = p.chromium.launch(channel="msedge",headless=False)

パラメータチャネル

ブラウザの起動に使用されるチャネルの詳細な説明については、ソース コードで確認できます。

C:\Python37\Lib\site-packages\playwright\sync_api\ _generated.py

クラス BrowserType(SyncBase) については、起動定義で詳しく説明されています

 channel : Union[str, None] Browser distribution channel. Supported values are "chrome", "chrome-beta", "chrome-dev", "chrome-canary", "msedge", "msedge-beta", "msedge-dev", "msedge-canary". Read more about using [Google Chrome and Microsoft Edge](../browsers.md#google-chrome--microsoft-edge).

iPhoneブラウザをシミュレートする

最後に、iPhoneのシミュレーション方法を紹介します。以下のコードを実行すると、iPhone 12上でのWebアプリケーションの動作をシミュレートできます。

 iphone_12 = playwright.devices['iPhone 12'] browser = playwright.webkit.launch(headless=False) context = browser.new_context( **iphone_12, ) page=context.new_page() page.goto("http://www.baidu.com")