解決pyppeteer高併發導致的同時執行多個JS語句報錯的問題

同時執行多個JS語句報錯

在使用pyppeteer來fuzz某個頁面時,需要多次對一個頁面進行請求發包,請求一次再返回來history.go(-1)請求一次。這時因爲pyppeteer的操作都是併發的,導致前一個請求頁面還沒加載完,就要回退,這就導致了報錯:pyppeteer.errors.NetworkError: Protocol error (Runtime.evaluate): Cannot find context with specified id這個報錯語句不唯一,反正就是下一個JS語句報錯了。

解決方法

在執行語句await page.evaluate(pageFunction=xxx)後面加上await page.waitForNavigation(),等待導航事件完成後再進行下一步操作。

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