PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD オプション
Playwright で利用するブラウザは、自動的にダウンロードされる。
ブラウザのダウンロードを抑止する場合は、PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD
環境変数を使う。
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
$Env:PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
set PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
Gradle で以下のように設定しても良い。
tasks.withType(JavaExec::class) { environment("PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD", "1") }
環境変数は Java 上で設定することはできない(リフレクションを使うか、ProcessBuilder
で別プロセス起動すれば可能 )が、Playwright の CreateOptions
で設定できる。
var createOptions = new Playwright.CreateOptions() .setEnv(Map.of("PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD","1")); try (Playwright playwright = Playwright.create(createOptions)) { ... }
BrowserType.LaunchOptions()
ブラウザの実行ファイルパスを setExecutablePath()
で指定する。
var launchOptions = new BrowserType.LaunchOptions() .setExecutablePath(Path.of("<path to browser>")) .setHeadless(false);
Google Chrome の場合
- Windows:
C:\Program Files\Google\Chrome\Application\chrome.exe
- macOS:
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
- Linux:
/usr/bin/google-chrome
または/usr/bin/chromium-browser
Firefoxの場合(playwright.firefox()
)
- Windows:
C:\Program Files\Mozilla Firefox\firefox.exe
- macOS:
/Applications/Firefox.app/Contents/MacOS/firefox
- Linux:
/usr/bin/firefox
まとめ
まとめると、以下のようにすることで、ブラウザのダウンロードを抑止し、指定パスのブラウザで Playwright を起動できる。
public static void main(String[] args) { var createOptions = new Playwright.CreateOptions() .setEnv(Map.of("PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD","1")); var launchOptions = new BrowserType.LaunchOptions() .setExecutablePath(Path.of("<path to browser>")) .setHeadless(false); try (Playwright playwright = Playwright.create(createOptions); Browser browser = playwright.chromium().launch(launchOptions)) { Page page = browser.newPage(); page.navigate("http://playwright.dev"); System.out.println(page.title()); } }