手動下載 Chrome,解決 puppeteer 無法使用問題
原文地址:https://marxjiao.com/2018/08/26/puppeteer-install/
因為網路原因,國內安裝 puppeteer
的時候會報網路超時。這裡使用 puppeteer-core
之後使用手動下載的 Chrome
進行操作。思路很簡單,安裝一個不帶瀏覽器的 puppeteer
,再使用的時候將瀏覽器地址指向一個可執行的 Chrome
瀏覽器檔案。
安裝
安裝puppeteer-core
。
yarn add puppeteer-core
找到 puppeteer 中對應的瀏覽器並下載
在 node_modules/puppeteer-core/lib/BrowserFetcher.js
中找到各平臺 Chrome
下載地址。其中%s
替換為 DEFAULT_DOWNLOAD_HOST
的值,%d
替換為版本號。
在 node_modules/puppeteer-core/packages.json
中找到版本號
替換後得到下載地址
https://storage.googleapis.com/chromium-browser-snapshots/Mac/579032/chrome-mac.zip
下載後解壓,放在專案目錄中,這裡我放在 chrome 下。
使用
這樣就可以使用了。
使用程式碼
const puppeteer = require('puppeteer-core');
const path = require('path');
(async () => {
const browser = await puppeteer.launch({
// 這裡注意路徑指向可執行的瀏覽器。
// 各平臺路徑可以在 node_modules/puppeteer-core/lib/BrowserFetcher.js 中找到
// Mac 為 '下載檔案解壓路徑/Chromium.app/Contents/MacOS/Chromium'
// Linux 為 '下載檔案解壓路徑/chrome'
// Windows 為 '下載檔案解壓路徑/chrome.exe'
executablePath: path.resolve('./chrome/Chromium.app/Contents/MacOS/Chromium')
});
const page = await browser.newPage();
await page.setViewport({
width: 375,
height: 667,
deviceScaleFactor: 1,
isMobile: true
})
await page.goto('https://marxjiao.com/');
await page.screenshot({path: 'marx-blog.png'});
await browser.close();
})();
執行檔案
node index.js
執行後可看到,圖片已經截圖出來了
相關文章
- 解決mac系統下無法手動設定ip的問題Mac
- 解決無法自動掛載U盤問題
- 解決 Homestead 國外映象無法下載問題
- 解決ASM無法啟動問題ASM
- 解決無法使用VI的問題
- 解決go get 下載github專案慢或無法下載的問題!GoGithub
- [linux]解決wayland協議下 google-chrome 無法輸入中文問題Linux協議GoChrome
- 解決下載的CHM檔案無法顯示網頁問題網頁
- 解決ASM磁碟組無法掛載的問題ASM
- ASM無法自動載入磁碟組問題解決一例ASM
- 解決 Chrome 6.2 以上版本使用 dump () 或者 dd () 時,network Preview 無法渲染問題ChromeView
- 解決ubuntu下sublime無法輸入中文問題Ubuntu
- 從根本解決jenkins無法下載外掛ssl證書問題Jenkins
- 解決ORACLE無法啟動安裝的問題Oracle
- 關於listener無法啟動的問題解決
- 使用PorterDuff解決clipPath無法抗鋸齒問題
- Ubuntu下解決Eclipse無法輸入中文問題UbuntuEclipse
- Linux下共享庫問題導致無法啟動SQLPLUS的問題解決LinuxSQL
- gmail無法訪問問題解決--FGWAI
- 官方Chrome擴充套件頁面無法訪問解決辦法Chrome套件
- mac下mysql無法啟動問題MacMySql
- 解決phpMyAdmin在nginx+php-fpm模式下無法使用的問題PHPNginx模式
- jsp無法使用bean的問題 等到解決問題為止!!!!JSBean
- 解決hyper v導致docker無法啟動問題Docker
- sqlplus無法啟動的問題及解決SQL
- 掉電無法啟動資料庫問題解決資料庫
- SaaS無法解決“關鍵”問題
- 蘋果電腦下載的google chrome無法使用怎麼辦蘋果GoChrome
- goland中npm無法使用的問題及解決方法GoLandNPM
- 解決jequry使用keydown無法跳轉的問題
- 解決:angular js模板中無法使用ueditor的問題AngularJS
- 【PyCharm】解決虛擬環境pip無法使用問題PyCharm
- 【Tip】解決like中無法匹配下劃線的問題
- Oracle 解決like中無法匹配下劃線的問題Oracle
- VMware DHCP Service服務無法啟動問題的解決
- chrome + puppeteerChrome
- 安卓手機改造伺服器——解決chroot下無法使用systemctl安卓伺服器
- chrome hosts檔案管理工具 空白問題的解決--外掛無法載入hosts配置檔案Chrome