在使用puppeteer的時候,本機運行簡直是和諧的不得了。但是一旦放到了服務器上長期運行,則要遭受眾多的問題。我曾一度懷疑是不是服務器趁我看不見,故意給我搞事情。不過,計算機的世界里,任何的問題,肯定錯在我身上。我們來談談puppeteer的一些崩潰措施。 頁面崩潰
我們可以使用 page 訂閱 error 事件,這樣的話,我們可以在回調里面去操作我們頁面錯誤后的處理方法。 瀏覽器崩潰但有時候往往太年輕,我當時以為這樣就是萬全之策,沒想到,接下來第二天還是服務器報錯了。找來找去,看到了一個這樣的錯誤: 在翻閱了官方文檔之后,毫無進展,好在一位好心的老哥,替我在官方文檔(github上的地址)找到了一個issues: https://github.com/puppeteer/puppeteer/issues/4428 情況跟我?guī)缀跻荒R粯印?纯唇涣飨聛硎侨绾谓鉀Q的? 上代碼: const setup = async () => { 反過來去查閱官方文檔: https://github.com/puppeteer/puppeteer/blob/master/docs/api.md#event-disconnected 原來如此,看來我文檔看的還是不夠仔細,當我們程序和瀏覽器斷開了鏈接。那么這個方法就會被執(zhí)行,言下之意也就是我們的程序崩掉了。 綜上,一般情況下,我都會加上這兩個的報錯。畢竟chrome在長期跑得過程中,難免會有很多不確定性因素。但是我們不將這些不確定因素都囊括住,那么也就增加了程序崩掉的風險,健壯性由此體現(xiàn)。
|
|
|