puppeteer離線安裝不同版本的chrome

1.背景

使用puppeteer時會默認下載chrome,由於要訪問google,因此沒有使用代理情況下,無法成功下載。通常是設置好環境變量,跳過chrome下載,隨後單獨下載chrome,並在瀏覽器啓動項executablePath中指定文件路徑。

{
    headless: true
    args: []
    executablePath : "chromePath"
}

官方給出的chromium離線下載安裝地址[1]如果不掛代理通常也無法打開。如果在linux/mac/windows平臺下,設置了chrome執行文件的路徑也可以正常啓動。因此只要在不同平臺下載chrome文件,隨後指定路徑,即可啓動不同版本的chrome。

2. MacOS系統下載並使用不同版本的chrome

在有界面環境下測試,可以選擇下載任意一個chrome版本。Mac系統下載的chrome文件通常是一個dmg文件,即mac下的磁盤鏡像文件。當下載完畢,雙擊chrome的dmg文件,將其掛載,隨後通過右鍵選擇將其打開,即可進入安裝文件目錄。

在這裏插入圖片描述

目錄中如下路徑即是配置在puppeteer中啓動chrome的路徑。

/Volumes/Google\ Chrome/Google\ Chrome.app/Contents/MacOS/Google\ Chrome

3. Linux系統下載並使用不同版本的chrome

同macOs類似,在有界面環境下測試,linux下我們可以下載chrome的rpm包或deb包隨後將其打開獲取chrome即可。

rpm包下載完畢後,可以使用rpm2cpio[2]命令將其文件提取。

對於deb包,在mac下可以通過B1FreeArchiver這個工具打開,隨後解壓將文件提取。

文件提取完畢後,指定文件路徑,即可啓動不同版本的linux chrome。

4 下載特定版本的chromium

如果無界面環境下遇到錯誤,要提示我們下載特定版本,我們在啓動時可能會遇到啓動報錯。這時去下載對應版本即可。可以在國內的鏡像地址[3],找到對應的版本,然後下載使用即可。

Timed out after 30000 ms while trying to connect to Chrome! The only Chrome revision guaranteed to work is r624492

參考

[1].chroium官方下載地址,https://download-chromium.appspot.com/.
[2].rpm2cpio的使用,https://stackoverflow.com/questions/18787375/how-do-i-extract-the-contents-of-an-rpm
[3].https://npm.taobao.org/mirrors/chromium-browser-snapshots/Linux_x64/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章