解决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(),等待导航事件完成后再进行下一步操作。

你可能感兴趣的:(fuzz)