介紹
Puppeteer 在初始化 browser 的時候有許多不錯的參數可以使用
這次主要介紹的地方是在 var browser = puppeteer.launch({option}) 這裡面的option
option 是一個 Object 在瀏覽器上配置選項,可以有以下字段:
----- 入門 常用 -----
headless < Boolean > 是否運行在瀏覽器背景模式,就是phantomjs模式 。
----- 推薦 好用 -----
userDataDir < 字符串 > 路徑到一個用戶數據目錄,例如登入過後把這個狀態儲存起來會增快很多速度。
----- 有用到再來看 -----
ignoreHTTPSErrors < Boolean > 是否忽略HTTPS錯誤。默認為false。
executablePath < string > 運行 Chromium或Chrome可執行的路徑,而不是捆綁的Chromium。如果
executablePath 是相對路徑,則相對於當前工作目錄進行解析。
slowMo < number > 使 Puppeteer 操作速度減少速度(毫秒數)。方便於觀察
args < Array < string > > 傳遞給瀏覽器實例的其他參數。
handleSIGINT < Boolean > 在Ctrl-C上關閉瀏覽器進程。默認為true。
handleSIGTERM < Boolean > 關閉SIGTERM上的瀏覽器進程。默認為true。
handleSIGHUP < Boolean > 在SIGHUP上關閉瀏覽器進程。默認為true。
timeout < number > 等待瀏覽器實例啟動的最長時間(以毫秒為單位)。默認為30000(30秒)。通過0禁用超時。
dumpio < Boolean > 是否管瀏覽器進程 stdout 和 stderr 成 process.stdout 和process.stderr。 默認為false。
env < Object > 指定對瀏覽器可見的環境變量。默認為process.env。
devtools < Boolean > 是否為每個標籤自動打開 DevTools 面板。headless只能為false。
以上這個 puppeteer.launch 會返回一個< Promise < Browser > 所以要用 await 去接他
總結
launch 設定很多 ,常用到是 headless 無頭模式的切換(類似phantomjs),devtools 也常會打開來除錯,因為除了爬蟲,也會用來使用 e2e 測試 ,如果有要慢動作的除錯也可以把 slowMo 做調整,這些參數裡面個人覺得還有一個很棒的就是 userDataDir 這個可以讓目前做的事情有個暫存效果cook之類的,等於可已壓縮一些流程,常見的紀錄cookies ,登入後下次就不用在從跑一次auth的流程