mirror of
				https://github.com/microsoft/playwright.git
				synced 2025-06-26 21:40:17 +00:00 
			
		
		
		
	 ad467446bb
			
		
	
	
		ad467446bb
		
			
		
	
	
	
	
		
			
			The issue was that it got unzipped under "chromedriver/chromedriver" and not just under "chromedriver"
		
			
				
	
	
		
			34 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const playwright = require('playwright-core');
 | |
| const { execSync } = require('child_process');
 | |
| const path = require('path');
 | |
| const fs = require('fs');
 | |
| 
 | |
| (async () => {
 | |
|   const dir = process.argv[2];
 | |
|   const chrome = await playwright.chromium.launch({ channel: 'chrome' });
 | |
|   const version = chrome.version();
 | |
|   await chrome.close();
 | |
|   console.log(`Found Chrome version ${version}`);
 | |
| 
 | |
|   const [major] = version.split('.');
 | |
|   const downloadsInfo = JSON.parse(execSync(`curl https://googlechromelabs.github.io/chrome-for-testing/latest-versions-per-milestone-with-downloads.json --silent`).toString('utf-8'));
 | |
| 
 | |
|   let currentPlatform = '';
 | |
|   if (process.platform === 'darwin')
 | |
|     currentPlatform = process.arch === 'arm64' ? 'mac-arm64' : 'mac-x64';
 | |
|   else if (process.platform === 'linux')
 | |
|     currentPlatform = 'linux64';
 | |
|   else 
 | |
|     currentPlatform = 'win64';
 | |
|   const chromeDriverURL = downloadsInfo.milestones[major].downloads.chromedriver.find(({ platform, url }) => platform === currentPlatform).url;
 | |
|   console.log(`Found ChromeDriver download URL: ${chromeDriverURL}`);
 | |
| 
 | |
|   const zip = path.join(dir, 'chromedriver.zip');
 | |
|   execSync(`curl ${chromeDriverURL} --output ${zip} --silent`);
 | |
|   console.log(`Downloaded ${zip}`);
 | |
| 
 | |
|   execSync(`unzip -j ${zip}`, { cwd: dir });
 | |
|   console.log(`Unzipped ${zip}`);
 | |
|   fs.rmSync(zip);
 | |
| })();
 |