| 
									
										
										
										
											2017-08-19 23:06:34 +00:00
										 |  |  | # Headless Browsers
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | The library, eschewing unstable and nascent ECMAScript features, plays nicely | 
					
						
							| 
									
										
										
										
											2017-08-19 23:06:34 +00:00
										 |  |  | with most headless browsers.  This demo shows a few common headless scenarios. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PhantomJS
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | This was tested in PhantomJS 2.1.1, installed using the node module: | 
					
						
							| 
									
										
										
										
											2017-08-19 23:06:34 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | $ npm install -g phantomjs | 
					
						
							|  |  |  | $ phantomjs phantomjs.js | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## wkhtmltopdf
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This was tested in wkhtmltopdf 0.12.4, installed using the official binaries: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | $ wkhtmltopdf --javascript-delay 20000 http://oss.sheetjs.com/js-xlsx/tests/ test.pdf | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2017-08-19 23:06:34 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## Puppeteer
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | This was tested in puppeteer 0.9.0 and Chromium revision 494755: | 
					
						
							| 
									
										
										
										
											2017-08-19 23:06:34 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | $ npm install puppeteer | 
					
						
							|  |  |  | $ node puppeteer.js | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Since the main process is node, the read and write features should be placed in | 
					
						
							|  |  |  | the webpage.  The `dist` versions are suitable for web pages. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SlimerJS
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | This was tested in SlimerJS 0.10.3 and FF 52.0, installed using `brew` on OSX: | 
					
						
							| 
									
										
										
										
											2017-08-19 23:06:34 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | $ brew install slimerjs | 
					
						
							|  |  |  | $ slimerjs slimerjs.js | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-24 23:40:09 +00:00
										 |  |  | [](https://github.com/SheetJS/js-xlsx) |