同時執行多個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()
,等待導航事件完成後再進行下一步操作。