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
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								npm i playwright
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											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
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$ PLAYWRIGHT_BROWSERS_PATH=$HOME/pw-browsers npm i playwright
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											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
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$ PLAYWRIGHT_BROWSERS_PATH=$HOME/pw-browsers node playwright-script.js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								$ PLAYWRIGHT_BROWSERS_PATH=0 node playwright-script.js
							 
						 
					
						
							
								
									
										
										
										
											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-04-29 18:59:20 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								$ PLAYWRIGHT_DOWNLOAD_HOST=192.168.1.78 npm i 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 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											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
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$ PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 npm i playwright
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											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
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$ npm i playwright-webkit
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											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();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  // ....
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								})();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```