安裝puppeteer時由於須要下載chrom的緣故老是安裝失敗提示:javascript
ERROR: Failed to download Chromium r515411! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOA D" env variable to skip download.
{ Error: read ECONNRESET
at _errnoException (util.js:1024:11)
at TLSWrap.onread (net.js:615:25) code: 'ECONNRESET', errno: 'ECONNRESET', s
yscall: 'read' }
npm WARN day2@1.0.0 No repository field.
複製代碼
提示須要跳過安裝Chromiumset PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
java
執行npm install puppeteer --ignore-scripts
跳過安裝chromuin步驟linux
而後在腳本中經過配置項 executablePath
,指定 Chromium 所在的位置。示例:chrome
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
executablePath: '../../chromium/Chromium.app/Contents/MacOS/Chromium'
});
const page = await browser.newPage();
await page.goto('https://y.qq.com');
await page.screenshot({path: 'yqq.png'});
browser.close();
})();
複製代碼
牆裏下載不到Chromuim怎麼辦。看倉庫源碼能夠發現下載地址是這樣的npm
const downloadURLs = {
linux: 'https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/%d/chrome-linux.zip',
mac: 'https://storage.googleapis.com/chromium-browser-snapshots/Mac/%d/chrome-mac.zip',
win32: 'https://storage.googleapis.com/chromium-browser-snapshots/Win/%d/chrome-win32.zip',
win64: 'https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/%d/chrome-win32.zip'
}
複製代碼
選擇對應的平臺,將 %d
替換成具體的編號,編號能夠從 puppeteer/package.json
中的 puppeteer.chromium_revision
查看json
而後運行咱們的代碼就一切正常了。api
哎! ,國外大公司新出的框架,庫,工具咱們咱們大天朝內使用太難了,老是各類採坑,今天在家搞了半天才把puppeteer
運行正常bash