2020-05-03 14:22:07 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Advanced installation
  
						 
					
						
							
								
									
										
										
										
											2020-04-24 12:20:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								<!--  GEN:toc  -->  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  [Managing browser binaries ](#managing-browser-binaries ) 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  [Download from artifact repository ](#download-from-artifact-repository ) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  [Skip browser downloads ](#skip-browser-downloads ) 
						 
					
						
							
								
									
										
										
										
											2020-04-24 12:20:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  [Download single browser binary ](#download-single-browser-binary ) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								<!--  GEN:stop  -->  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-24 12:20:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Managing browser binaries
  
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Each version of Playwright needs specific versions of browser binaries to operate. By default Playwright downloads Chromium, WebKit and Firefox browsers into the OS-specific cache folders:
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-30 17:41:56 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `%USERPROFILE%\AppData\Local\ms-playwright`  on Windows 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `~/Library/Caches/ms-playwright`  on MacOS 
						 
					
						
							
								
									
										
										
										
											2020-05-03 16:58:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `~/.cache/ms-playwright`  on Linux 
						 
					
						
							
								
									
										
										
										
											2020-04-21 17:13:14 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
									
										
										
										
											2020-05-26 10:24:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								npm i -D playwright
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 17:13:14 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								These browsers will take few hundreds of megabytes of the disk space when installed:
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 17:13:14 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								du -hs ./Library/Caches/ms-playwright/*
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								281M  chromium-XXXXXX
							 
						 
					
						
							
								
									
										
										
										
											2020-05-07 22:33:35 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								187M  firefox-XXXX
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								180M  webkit-XXXX
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 17:13:14 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								You can override default behavior using environment variables. When installing Playwright, ask it to download browsers into a specific location:
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
									
										
										
										
											2020-06-13 13:11:39 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Linux/macOS
  
						 
					
						
							
								
									
										
										
										
											2020-05-26 10:24:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ PLAYWRIGHT_BROWSERS_PATH=$HOME/pw-browsers npm i -D playwright
							 
						 
					
						
							
								
									
										
										
										
											2020-06-13 13:11:39 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Windows
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ set PLAYWRIGHT_BROWSERS_PATH=%USERPROFILE%\pw-browsers
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ npm i -D playwright
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								When running Playwright scripts, ask it to search for browsers in a shared location:
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
									
										
										
										
											2020-06-13 13:11:39 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Linux/macOS
  
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ PLAYWRIGHT_BROWSERS_PATH=$HOME/pw-browsers node playwright-script.js
							 
						 
					
						
							
								
									
										
										
										
											2020-06-13 13:11:39 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Windows
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ set PLAYWRIGHT_BROWSERS_PATH=%USERPROFILE%\pw-browsers
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ node playwright-script.js
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Or you can opt into the hermetic install and place binaries under the `node_modules/`  folder:
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
									
										
										
										
											2020-06-13 13:11:39 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Linux/macOS
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ PLAYWRIGHT_BROWSERS_PATH=0 npm i -D playwright
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Windows
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ set PLAYWRIGHT_BROWSERS_PATH=0
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ npm i -D playwright
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Playwright keeps track of packages that need those browsers and will garbage collect them as you update Playwright to the newer versions.
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< br >  
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								>  **NOTE** Developers can opt-in in this mode via exporting `PLAYWRIGHT_BROWSERS_PATH=$HOME/pw-browsers` in their `.bashrc`.
  
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< br >  
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Download from artifact repository
  
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								By default, Playwright downloads browsers from Microsoft and Google public CDNs.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Sometimes companies maintain an internal artifact repository to host browser
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								binaries. In this case, Playwright can be configured to download from a custom
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								location using the `PLAYWRIGHT_DOWNLOAD_HOST`  env variable.
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
									
										
										
										
											2020-06-13 13:11:39 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Linux/macOS
  
						 
					
						
							
								
									
										
										
										
											2020-05-26 10:24:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ PLAYWRIGHT_DOWNLOAD_HOST=192.168.1.78 npm i -D playwright
							 
						 
					
						
							
								
									
										
										
										
											2020-06-13 13:11:39 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Windows
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ set PLAYWRIGHT_DOWNLOAD_HOST=192.168.1.78
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ npm i -D playwright
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-18 12:35:37 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								It is also possible to use a per-browser download hosts using `PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST` , `PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST`  and `PLAYWRIGHT_WEBKIT_DOWNLOAD_HOST`  env variables that
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								take precedence over `PLAYWRIGHT_DOWNLOAD_HOST` .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Linux/macOS
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST=192.168.1.1 PLAYWRIGHT_DOWNLOAD_HOST=192.168.1.78 npm i -D playwright
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< br >  
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Skip browser downloads
  
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-24 12:20:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								In certain cases, it is desired to avoid browser downloads altogether because
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								browser binaries are managed separately.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This can be done by setting `PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD`  variable before installation.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
									
										
										
										
											2020-06-13 13:11:39 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Linux/macOS
  
						 
					
						
							
								
									
										
										
										
											2020-05-26 10:24:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 npm i -D playwright
							 
						 
					
						
							
								
									
										
										
										
											2020-06-13 13:11:39 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Windows
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ set PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ npm i -D playwright
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								## Download single browser binary
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Playwright ships three packages that bundle only a single browser:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  [`playwright-chromium` ](https://www.npmjs.com/package/playwright-chromium ) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  [`playwright-webkit` ](https://www.npmjs.com/package/playwright-webkit ) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  [`playwright-firefox` ](https://www.npmjs.com/package/playwright-firefox ) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								>  **NOTE** All configuration environment variables also apply to these packages.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Using these packages is as easy as using a regular Playwright:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Install a specific package
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
									
										
										
										
											2020-05-26 10:24:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ npm i -D playwright-webkit
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Require package
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Notice a proper package name in require
							 
						 
					
						
							
								
									
										
										
										
											2020-04-24 12:20:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const { webkit } = require('playwright-webkit');
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								(async () => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  const browser = await webkit.launch();
							 
						 
					
						
							
								
									
										
										
										
											2020-06-13 13:11:39 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  // ...
							 
						 
					
						
							
								
									
										
										
										
											2020-04-21 16:38:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								})();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```